Commit 9926eba5b7de8141ac70f406be06c0c057951d4d
1 parent
68575fdd
Fixed build, install
Showing
4 changed files
with
46 additions
and
33 deletions
3rdparty/stasm4.0.0/CMakeLists.txt
| ... | ... | @@ -4,21 +4,19 @@ cmake_minimum_required(VERSION 2.8.6) |
| 4 | 4 | # Global Settings |
| 5 | 5 | set(CPACK_PACKAGE_NAME "Stasm") |
| 6 | 6 | set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME}) |
| 7 | -set(CPACK_PACKAGE_VERSION_MAJOR 3) | |
| 8 | -set(CPACK_PACKAGE_VERSION_MINOR 1) | |
| 7 | +set(CPACK_PACKAGE_VERSION_MAJOR 4) | |
| 8 | +set(CPACK_PACKAGE_VERSION_MINOR 0) | |
| 9 | 9 | set(CPACK_PACKAGE_VERSION_PATCH 0) |
| 10 | 10 | set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") |
| 11 | 11 | |
| 12 | 12 | # find the dependencies |
| 13 | 13 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/") |
| 14 | 14 | |
| 15 | -# Find Qt 5.0.2 | |
| 16 | 15 | set(QT_DEPENDENCIES Concurrent Core Gui Network Sql Svg Widgets Xml) |
| 17 | 16 | foreach(QT_DEPENDENCY ${QT_DEPENDENCIES}) |
| 18 | 17 | find_package(Qt5${QT_DEPENDENCY}) |
| 19 | 18 | endforeach() |
| 20 | 19 | |
| 21 | -# OpenCV 2.4.5 | |
| 22 | 20 | set(OPENCV_DEPENDENCIES calib3d core features2d flann gpu highgui imgproc ml nonfree objdetect photo video) |
| 23 | 21 | find_package( OpenCV REQUIRED ) |
| 24 | 22 | |
| ... | ... | @@ -31,19 +29,9 @@ if(MSVC) |
| 31 | 29 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /DNOMINMAX /D_CRT_SECURE_NO_WARNINGS /wd4267 /wd4307 /wd4308 /nologo") |
| 32 | 30 | endif() |
| 33 | 31 | |
| 34 | -add_subdirectory(${PROJECT_SOURCE_DIR}/stasm) | |
| 35 | -if(MSVC) | |
| 36 | - add_library(stasm STATIC ${SOURCE}) | |
| 37 | -else() | |
| 38 | - add_library(stasm SHARED ${SOURCE}) | |
| 39 | -endif() | |
| 40 | - | |
| 41 | -qt5_use_modules(stasm ${QT_DEPENDENCIES}) | |
| 42 | -set(SOURCE ${SOURCE} PARENT_SCOPE) | |
| 43 | -target_link_libraries(stasm ${OpenCV_LIBS} ${Qt5Core_QTMAIN_LIBRARIES}) | |
| 32 | +message(${PROJECT_SOURCE_DIR}) | |
| 44 | 33 | |
| 45 | -install(FILES ${HEADERS} DESTINATION include) | |
| 46 | -install(TARGETS stasm LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) | |
| 34 | +add_subdirectory(${PROJECT_SOURCE_DIR}/stasm) | |
| 47 | 35 | |
| 48 | 36 | # Package |
| 49 | 37 | set(CPACK_BINARY_BUNDLE OFF) | ... | ... |
3rdparty/stasm4.0.0/stasm/CMakeLists.txt
| 1 | 1 | # Stasm CMakeLists |
| 2 | 2 | |
| 3 | +include_directories(${CMAKE_CURRENT_BINARY_DIR}) | |
| 4 | + | |
| 5 | +aux_source_directory(. STASM_SRC) | |
| 6 | +aux_source_directory(MOD_1 MOD1_SRC) | |
| 7 | + | |
| 8 | +add_library(stasm SHARED ${STASM_SRC} ${MOD1_SRC}) | |
| 9 | +qt5_use_modules(stasm ${QT_DEPENDENCIES}) | |
| 10 | + | |
| 11 | +set_target_properties(stasm PROPERTIES | |
| 12 | + DEFINE_SYMBOL STASM_LIBRARY | |
| 13 | + VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH} | |
| 14 | + SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR} | |
| 15 | + LINK_INTERFACE_LIBRARIES "" | |
| 16 | + AUTOMOC TRUE) | |
| 17 | + | |
| 18 | +target_link_libraries(stasm ${OpenCV_LIBS} ${Qt5Core_QTMAIN_LIBRARIES}) | |
| 19 | + | |
| 3 | 20 | file(GLOB HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/*.h") |
| 4 | 21 | file(GLOB HEADERS ${HEADERS} "${CMAKE_CURRENT_SOURCE_DIR}/MOD_1/*.h") |
| 5 | 22 | |
| 6 | -file(GLOB SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp") | |
| 7 | -file(GLOB SOURCE ${SOURCE} "${CMAKE_CURRENT_SOURCE_DIR}/MOD_1/*.cpp") | |
| 8 | - | |
| 9 | -set(HEADERS ${HEADERS} PARENT_SCOPE) | |
| 10 | -set(SOURCE ${SOURCE} PARENT_SCOPE) | |
| 11 | 23 | \ No newline at end of file |
| 24 | +install(FILES ${HEADERS} DESTINATION include/stasm) | |
| 25 | +install(TARGETS stasm RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) | ... | ... |
openbr/plugins/stasm4.cmake
| ... | ... | @@ -2,14 +2,9 @@ set(BR_WITH_STASM4 ON CACHE BOOL "Build with Stasm") |
| 2 | 2 | |
| 3 | 3 | if(${BR_WITH_STASM4}) |
| 4 | 4 | find_package(Stasm4 REQUIRED) |
| 5 | + | |
| 5 | 6 | set(BR_THIRDPARTY_SRC ${BR_THIRDPARTY_SRC} plugins/stasm4.cpp) |
| 6 | 7 | set(BR_THIRDPARTY_LIBS ${BR_THIRDPARTY_LIBS} ${Stasm4_LIBS}) |
| 7 | 8 | |
| 8 | - if(WIN32) | |
| 9 | - install(DIRECTORY ${Stasm_DIR}/build/ DESTINATION bin) | |
| 10 | - else() | |
| 11 | - install(DIRECTORY ${Stasm_DIR}/build/ DESTINATION lib) | |
| 12 | - endif() | |
| 13 | - | |
| 14 | 9 | install(DIRECTORY ${Stasm_DIR}/data/ DESTINATION share/openbr/models/stasm) |
| 15 | 10 | endif() | ... | ... |
share/openbr/cmake/FindStasm4.cmake
| ... | ... | @@ -7,14 +7,30 @@ |
| 7 | 7 | # find_package(Stasm4 REQUIRED) |
| 8 | 8 | # target_link_libraries(MY_TARGET ${Stasm4_LIBS}) |
| 9 | 9 | # ================================================================ |
| 10 | +include(ExternalProject) | |
| 10 | 11 | |
| 11 | -find_path(Stasm_DIR stasm/stasm_lib.h ${CMAKE_SOURCE_DIR}/3rdparty/*) | |
| 12 | +get_cmake_property(CACHE_VARS CACHE_VARIABLES) | |
| 13 | +foreach(CACHE_VAR ${CACHE_VARS}) | |
| 14 | + get_property(CACHE_VAR_HELPSTRING CACHE ${CACHE_VAR} PROPERTY HELPSTRING) | |
| 15 | + if(CACHE_VAR_HELPSTRING STREQUAL "No help, variable specified on the command line.") | |
| 16 | + get_property(CACHE_VAR_TYPE CACHE ${CACHE_VAR} PROPERTY TYPE) | |
| 17 | + if(CACHE_VAR_TYPE STREQUAL "UNINITIALIZED") | |
| 18 | + set(CACHE_VAR_TYPE) | |
| 19 | + else() | |
| 20 | + set(CACHE_VAR_TYPE :${CACHE_VAR_TYPE}) | |
| 21 | + endif() | |
| 22 | + set(CMAKE_ARGS "${CMAKE_ARGS} -D${CACHE_VAR}${CACHE_VAR_TYPE}=\"${${CACHE_VAR}}\"") | |
| 23 | + endif() | |
| 24 | +endforeach() | |
| 12 | 25 | |
| 13 | -add_subdirectory(${Stasm_DIR} ${Stasm_DIR}/build) | |
| 26 | +find_path(Stasm_DIR stasm/stasm_lib.h ${CMAKE_SOURCE_DIR}/3rdparty/*) | |
| 14 | 27 | |
| 15 | -set(SRC ${SOURCE};${SRC}) | |
| 28 | +ExternalProject_Add(stasm | |
| 29 | + URL ${Stasm_DIR} | |
| 30 | + CMAKE_ARGS ${CMAKE_ARGS} | |
| 31 | + ) | |
| 16 | 32 | |
| 17 | -include_directories(${Stasm_DIR}/stasm) | |
| 18 | -link_directories(${Stasm_DIR}/build) | |
| 33 | +ExternalProject_Get_Property(stasm install_dir) | |
| 34 | +include_directories(${install_dir}/src/stasm-build/Stasm_DIR/build/install/include) | |
| 19 | 35 | |
| 20 | -set(Stasm4_LIBS stasm) | |
| 36 | +file(GLOB Stasm4_LIBS ${install_dir}/src/stasm-build/Stasm_DIR/build/install/lib/*) | ... | ... |