CMakeLists.txt 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. include( corefiles.cmake)
  2. include( progfiles.cmake)
  3. include( testfiles.cmake)
  4. #message(STATUS "nice_core_hdr:${NICE_CORE_HDR}")
  5. ADD_LIBRARY(nice_core ${NICE_BUILD_LIBS_STATIC_SHARED} ${NICE_CORE_HDR} ${NICE_CORE_SRC})
  6. TARGET_LINK_LIBRARIES(nice_core ${Boost_LIBRARIES} ${OPENGL_LIBRARY} ${GLUT_LIBRARY} ${QT_LIBRARIES})
  7. SET_PROPERTY(TARGET nice_core PROPERTY FOLDER "library")
  8. INSTALL(TARGETS nice_core DESTINATION lib)
  9. if(BUILD_CORE_PROGS)
  10. message(STATUS "building progs:")
  11. foreach(__progcpp ${NICE_PROGFILES_SRC})
  12. get_filename_component(__progname ${__progcpp} NAME_WE )
  13. message(STATUS "progname: ${__progname} ${__progcpp}")
  14. ADD_EXECUTABLE( ${__progname} ${__progcpp})
  15. TARGET_LINK_LIBRARIES(${__progname} nice_core)
  16. INSTALL(TARGETS ${__progname} DESTINATION bin)
  17. SET_PROPERTY(TARGET ${__progname} PROPERTY FOLDER "programs")
  18. endforeach()
  19. endif()
  20. if(BUILD_CORE_TESTS)
  21. INCLUDE_DIRECTORIES(${CPPUNIT_INCLUDE_DIR})
  22. message(STATUS "building tests:")
  23. foreach(__testcpp ${NICE_TESTFILES_SRC})
  24. get_filename_component(__testname ${__testcpp} NAME_WE )
  25. message(STATUS "unittest: ${__testname} ${__testcpp}")
  26. ADD_EXECUTABLE( ${__testname} ../templates/cppUnitTestRunner.cpp ${__testcpp})
  27. TARGET_LINK_LIBRARIES(${__testname} nice_core ${CPPUNIT_LIBRARIES} )
  28. INSTALL(TARGETS ${__testname} DESTINATION tests)
  29. SET_PROPERTY(TARGET ${__testname} PROPERTY FOLDER "unittests")
  30. if(BUILD_CORE_TESTS_PERFORM_AS_POSTBUILD_STEP)
  31. add_custom_command(TARGET ${__testname}
  32. POST_BUILD
  33. COMMAND "$<TARGET_FILE:${__testname}>"
  34. COMMENT "Unit Tests...")
  35. else()
  36. ADD_TEST(${__testname} ${__testname})
  37. endif()
  38. endforeach()
  39. endif()
  40. #####
  41. set(the_module "nice_core")
  42. if(ENABLE_SOLUTION_FOLDERS)
  43. set_target_properties(${the_module} PROPERTIES FOLDER "modules")
  44. endif()
  45. set_target_properties(${the_module} PROPERTIES
  46. OUTPUT_NAME "${the_module}${OPENCV_DLLVERSION}"
  47. DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
  48. ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
  49. RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
  50. INSTALL_NAME_DIR lib
  51. )
  52. if(BUILD_SHARED_LIBS)
  53. if(MSVC)
  54. set_target_properties(${the_module} PROPERTIES DEFINE_SYMBOL CVAPI_EXPORTS)
  55. else()
  56. add_definitions(-DCVAPI_EXPORTS)
  57. endif()
  58. endif()
  59. if(MSVC)
  60. if(CMAKE_CROSSCOMPILING)
  61. set_target_properties(${the_module} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:secchk")
  62. endif()
  63. set_target_properties(${the_module} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:libc /DEBUG")
  64. endif()
  65. install(TARGETS ${the_module}
  66. RUNTIME DESTINATION bin COMPONENT main
  67. LIBRARY DESTINATION ${OPENCV_LIB_INSTALL_PATH} COMPONENT main
  68. ARCHIVE DESTINATION ${OPENCV_LIB_INSTALL_PATH} COMPONENT main
  69. )
  70. # # only "public" headers need to be installed
  71. # if(OPENCV_MODULE_${the_module}_HEADERS AND ";${OPENCV_MODULES_PUBLIC};" MATCHES ";${the_module};")
  72. # foreach(hdr ${OPENCV_MODULE_${the_module}_HEADERS})
  73. # string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}")
  74. # if(hdr2 MATCHES "^(opencv2/.*)/[^/]+.h(..)?$")
  75. # install(FILES ${hdr} DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT main)
  76. # endif()
  77. # endforeach()
  78. # endif()
  79. #############################################################
  80. # set(NICE_CURR_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
  81. # ocv_glob_modules(${NICE_CURR_DIR})
  82. #ocv_add_module(core)
  83. #ocv_module_include_directories()
  84. #ocv_glob_module_sources()
  85. #ocv_create_module()
  86. # set(NICE_CURR_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
  87. # ocv_glob_modules(${NICE_CURR_DIR})
  88. # ADD_EXECUTABLE(testConfig ./basics/progs/testConfig.cpp)
  89. # ADD_EXECUTABLE(testMemoryUsage ./basics/progs/testMemoryUsage.cpp)
  90. # TARGET_LINK_LIBRARIES(testConfig libnice_core_basics libnice_core_vector)
  91. # TARGET_LINK_LIBRARIES(testMemoryUsage libnice_core_basics)
  92. # INSTALL(TARGETS testConfig DESTINATION bin)
  93. # INSTALL(TARGETS testMemoryUsage DESTINATION bin)
  94. ###
  95. #CONFIGURE_FILE(
  96. # "CMakeDefinesConfig.h.in"
  97. # "${PROJECT_BINARY_DIR}/CMakeDefinesConfig.h"
  98. #)
  99. #include_directories("${PROJECT_BINARY_DIR}")