Commit 9926eba5b7de8141ac70f406be06c0c057951d4d

Authored by Scott Klum
1 parent 68575fdd

Fixed build, install

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/*)
... ...