diff --git a/CMakeLists.txt b/CMakeLists.txt index c30ddfc50edf298a5f42e82a28db89ab576bf08d..b99cff95629eef0b82b19589c5661c4dcde78667 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,15 @@ cmake_minimum_required(VERSION 2.8.7) project(macaon) +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules") + +find_package(dynet REQUIRED) +find_package(eigen3 REQUIRED) +find_package(Boost REQUIRED COMPONENTS program_options) + set(CMAKE_VERBOSE_MAKEFILE 0) set(CMAKE_CXX_STANDARD 11) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules") - if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() diff --git a/cmake/Modules/Findeigen3.cmake b/cmake/Modules/Findeigen3.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0c323bc25c20693db595fb26dd8c86bcd5e02db8 --- /dev/null +++ b/cmake/Modules/Findeigen3.cmake @@ -0,0 +1,16 @@ +# - Try to find eigen3 +# Once done this will define +# EIGEN3_FOUND - System has eigen3 +# EIGEN3_INCLUDE_DIRS - The eigen3 include directories +# EIGEN3_LIBRARIES - The libraries needed to use eigen3 +# EIGEN3_DEFINITIONS - Compiler switches required for using eigen3 + +find_package(PkgConfig) + pkg_check_modules(PC_EIGEN3 QUIET eigen3) + + find_path(EIGEN3_INCLUDE_DIR eigen3/model.h + HINTS ${PC_EIGEN3_INCLUDEDIR} ${PC_DYNET_INCLUDE_DIRS} + PATH_SUFFIXES eigen3 ) + +set(EIGEN3_LIBRARIES ${DYNET_LIBRARY} ) +set(EIGEN3_INCLUDE_DIRS ${DYNET_INCLUDE_DIR}/eigen3 ) diff --git a/cmake/Modules/Findfasttext.cmake b/cmake/Modules/Findfasttext.cmake new file mode 100644 index 0000000000000000000000000000000000000000..ee000a04123679db44dcf0f2e0348b25fdb06b70 --- /dev/null +++ b/cmake/Modules/Findfasttext.cmake @@ -0,0 +1,27 @@ +# - Try to find fasttext +# Once done this will define +# FASTTEXT_FOUND - System has fasttext +# FASTTEXT_INCLUDE_DIRS - The fasttext include directories +# FASTTEXT_LIBRARIES - The libraries needed to use fasttext +# FASTTEXT_DEFINITIONS - Compiler switches required for using fasttext + +find_package(PkgConfig) + pkg_check_modules(PC_FASTTEXT QUIET fasttext) + + find_path(FASTTEXT_INCLUDE_DIR fasttext/fasttext.h + HINTS ${PC_FASTTEXT_INCLUDEDIR} ${PC_FASTTEXT_INCLUDE_DIRS} + PATH_SUFFIXES fasttext ) + + find_library(FASTTEXT_LIBRARY NAMES fasttext + HINTS ${PC_FASTTEXT_LIBDIR} ${PC_FASTTEXT_LIBRARY_DIRS} ) + + include(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set FASTTEXT_FOUND to TRUE +# if all listed variables are TRUE + find_package_handle_standard_args(fasttext DEFAULT_MSG + FASTTEXT_LIBRARY FASTTEXT_INCLUDE_DIR) + + mark_as_advanced(FASTTEXT_INCLUDE_DIR FASTTEXT_LIBRARY ) + + set(FASTTEXT_LIBRARIES ${FASTTEXT_LIBRARY} ) + set(FASTTEXT_INCLUDE_DIRS ${FASTTEXT_INCLUDE_DIR}/fasttext ) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c76bc3dd143b8ae25f851b7c85e5d507f3232985..043734e17a56c58d02b11e3399d3ac1007117502 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -3,7 +3,9 @@ FILE(GLOB SOURCES src/*.cpp) add_executable(test_train src/test_train.cpp) target_link_libraries(test_train tape_machine) target_link_libraries(test_train trainer) +target_link_libraries(test_train ${Boost_PROGRAM_OPTIONS_LIBRARY}) add_executable(test_decode src/test_decode.cpp) target_link_libraries(test_decode tape_machine) target_link_libraries(test_decode decoder) +target_link_libraries(test_train ${Boost_PROGRAM_OPTIONS_LIBRARY}) diff --git a/tests/src/test_train.cpp b/tests/src/test_train.cpp index d2d17665ccb76b21c48ab889910c570e0deb5096..764bda551088e4a37fc243fe5de232464aabae65 100644 --- a/tests/src/test_train.cpp +++ b/tests/src/test_train.cpp @@ -1,5 +1,6 @@ #include <cstdio> #include <cstdlib> +#include <boost/program_options.hpp> #include "MCD.hpp" #include "Config.hpp" #include "TapeMachine.hpp"