135 lines
3.2 KiB
CMake
135 lines
3.2 KiB
CMake
cmake_minimum_required(VERSION 3.8)
|
|
project(eqpalg VERSION 0.1)
|
|
|
|
set(CONFIG_FILE_PATH "config.json")
|
|
|
|
include(../cmake_include/public.cmake)
|
|
include(../cmake_include/baosight.cmake)
|
|
include(../cmake_include/mix_cc.cmake)
|
|
|
|
message(STATUS "C++ 编译器路径: ${CMAKE_CXX_COMPILER}")
|
|
message(STATUS "C++ 编译器ID: ${CMAKE_CXX_COMPILER_ID}")
|
|
message(STATUS "C++ 编译器版本: ${CMAKE_CXX_COMPILER_VERSION}")
|
|
|
|
find_package(
|
|
Boost
|
|
COMPONENTS system filesystem serialization context regex container iostreams
|
|
stacktrace_addr2line unit_test_framework
|
|
REQUIRED)
|
|
|
|
find_package(dlib CONFIG REQUIRED)
|
|
|
|
find_package(mlpack CONFIG REQUIRED)
|
|
find_package(Armadillo CONFIG REQUIRED)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fno-omit-frame-pointer -Wno-deprecated-declarations -Wno-unused-parameter -Wno-unused-variable -Wno-sign-compare -Wno-reorder -Wno-unused-but-set-variable")
|
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -O0")
|
|
aux_source_directory(./ DIR_ROOT)
|
|
aux_source_directory(algs ALGS)
|
|
aux_source_directory(threads THREADS)
|
|
|
|
# aux_source_directory(data_handler DATA_HANDLER)
|
|
# aux_source_directory(distribution DISTRIBUTION)
|
|
# aux_source_directory(regression REGRESSION)
|
|
# aux_source_directory(oneClassSvm ONECLASSSVM)
|
|
# aux_source_directory(stat_tools STAT)
|
|
aux_source_directory(exp_macro EXP_MACRO)
|
|
aux_source_directory(feature_extraction FEATURE_EXTRACTION)
|
|
aux_source_directory(utility EQPALG_UTILITY)
|
|
|
|
set(LINK_OPTION
|
|
${ICE}
|
|
${IPLATURE}
|
|
${SQL}
|
|
${FREEZE}
|
|
${BASE_LIB}
|
|
${CODE_LIB}
|
|
${IDA}
|
|
${LEGACY_JSON}
|
|
${MEMCACHE_LIB}
|
|
${IHDB_LIB}
|
|
rt
|
|
stdc++
|
|
c
|
|
m
|
|
)
|
|
# create dir "~/shm"
|
|
execute_process(COMMAND sh "/users/dsc/code/shm/shmdir.sh" . )
|
|
# set execute info
|
|
add_executable(
|
|
eqpalg
|
|
${DIR_ROOT}
|
|
${ALGS}
|
|
${THREADS}
|
|
# ${DATA_HANDLER}
|
|
# ${DISTRIBUTION}
|
|
# ${REGRESSION}
|
|
# ${ONECLASSSVM}
|
|
${EQPALG_UTILITY}
|
|
${EXP_MACRO}
|
|
${FEATURE_EXTRACTION}
|
|
# ${STAT}
|
|
)
|
|
|
|
target_link_libraries(eqpalg
|
|
${LINK_OPTION}
|
|
${Boost_LIBRARIES}
|
|
${mix_cc}
|
|
nlohmann_json::nlohmann_json
|
|
Eigen3::Eigen
|
|
dlib::dlib
|
|
mlpack::mlpack
|
|
)
|
|
|
|
target_include_directories(
|
|
eqpalg
|
|
PUBLIC ./
|
|
../
|
|
${legacy_include}
|
|
${iplature_include}
|
|
${ihdb_include}
|
|
${memcache_include}
|
|
${iXcom}Include)
|
|
|
|
set_target_properties(eqpalg PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${bin_dir})
|
|
|
|
# ###################### add test ########################
|
|
include(CTest)
|
|
|
|
aux_source_directory(./test TEST_SOURCES)
|
|
|
|
add_executable(eqpalg_test
|
|
${TEST_SOURCES}
|
|
./utility/expression_engine.cpp
|
|
./utility/fb_state_machine.cpp
|
|
./utility/bound_checker.cpp
|
|
./utility/HoldTime.cc
|
|
./gb_item_memory.cc
|
|
)
|
|
|
|
target_include_directories(eqpalg_test PUBLIC
|
|
./
|
|
../
|
|
${my_lib_include}
|
|
${legacy_include}
|
|
${iplature_include}
|
|
${ihdb_include}
|
|
${memcache_include}
|
|
${iXcom}Include
|
|
)
|
|
|
|
target_link_libraries(eqpalg_test
|
|
${LINK_OPTION}
|
|
${Boost_LIBRARIES}
|
|
${mix_cc}
|
|
nlohmann_json::nlohmann_json
|
|
Eigen3::Eigen
|
|
)
|
|
|
|
set_target_properties(eqpalg_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test)
|
|
|
|
enable_testing()
|
|
add_test(NAME eqpalg_test
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test
|
|
COMMAND eqpalg_test)
|