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,21 +4,19 @@ cmake_minimum_required(VERSION 2.8.6)
4 # Global Settings 4 # Global Settings
5 set(CPACK_PACKAGE_NAME "Stasm") 5 set(CPACK_PACKAGE_NAME "Stasm")
6 set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME}) 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 set(CPACK_PACKAGE_VERSION_PATCH 0) 9 set(CPACK_PACKAGE_VERSION_PATCH 0)
10 set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") 10 set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
11 11
12 # find the dependencies 12 # find the dependencies
13 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/") 13 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
14 14
15 -# Find Qt 5.0.2  
16 set(QT_DEPENDENCIES Concurrent Core Gui Network Sql Svg Widgets Xml) 15 set(QT_DEPENDENCIES Concurrent Core Gui Network Sql Svg Widgets Xml)
17 foreach(QT_DEPENDENCY ${QT_DEPENDENCIES}) 16 foreach(QT_DEPENDENCY ${QT_DEPENDENCIES})
18 find_package(Qt5${QT_DEPENDENCY}) 17 find_package(Qt5${QT_DEPENDENCY})
19 endforeach() 18 endforeach()
20 19
21 -# OpenCV 2.4.5  
22 set(OPENCV_DEPENDENCIES calib3d core features2d flann gpu highgui imgproc ml nonfree objdetect photo video) 20 set(OPENCV_DEPENDENCIES calib3d core features2d flann gpu highgui imgproc ml nonfree objdetect photo video)
23 find_package( OpenCV REQUIRED ) 21 find_package( OpenCV REQUIRED )
24 22
@@ -31,19 +29,9 @@ if(MSVC) @@ -31,19 +29,9 @@ if(MSVC)
31 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /DNOMINMAX /D_CRT_SECURE_NO_WARNINGS /wd4267 /wd4307 /wd4308 /nologo") 29 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /DNOMINMAX /D_CRT_SECURE_NO_WARNINGS /wd4267 /wd4307 /wd4308 /nologo")
32 endif() 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 # Package 36 # Package
49 set(CPACK_BINARY_BUNDLE OFF) 37 set(CPACK_BINARY_BUNDLE OFF)
3rdparty/stasm4.0.0/stasm/CMakeLists.txt
1 # Stasm CMakeLists 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 file(GLOB HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/*.h") 20 file(GLOB HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
4 file(GLOB HEADERS ${HEADERS} "${CMAKE_CURRENT_SOURCE_DIR}/MOD_1/*.h") 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 \ No newline at end of file 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,14 +2,9 @@ set(BR_WITH_STASM4 ON CACHE BOOL "Build with Stasm")
2 2
3 if(${BR_WITH_STASM4}) 3 if(${BR_WITH_STASM4})
4 find_package(Stasm4 REQUIRED) 4 find_package(Stasm4 REQUIRED)
  5 +
5 set(BR_THIRDPARTY_SRC ${BR_THIRDPARTY_SRC} plugins/stasm4.cpp) 6 set(BR_THIRDPARTY_SRC ${BR_THIRDPARTY_SRC} plugins/stasm4.cpp)
6 set(BR_THIRDPARTY_LIBS ${BR_THIRDPARTY_LIBS} ${Stasm4_LIBS}) 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 install(DIRECTORY ${Stasm_DIR}/data/ DESTINATION share/openbr/models/stasm) 9 install(DIRECTORY ${Stasm_DIR}/data/ DESTINATION share/openbr/models/stasm)
15 endif() 10 endif()
share/openbr/cmake/FindStasm4.cmake
@@ -7,14 +7,30 @@ @@ -7,14 +7,30 @@
7 # find_package(Stasm4 REQUIRED) 7 # find_package(Stasm4 REQUIRED)
8 # target_link_libraries(MY_TARGET ${Stasm4_LIBS}) 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/*)