From 41f5e8e3d8b43d5c74faa6019ce44f0e31f707a9 Mon Sep 17 00:00:00 2001 From: Andrey Kamaev Date: Sat, 30 Apr 2011 10:42:33 +0000 Subject: [PATCH] Fixed output paths for some libraries and executables. Added option to force disable precompiled headers. --- CMakeLists.txt | 6 ++++++ OpenCVModule.cmake | 4 ++-- OpenCVPCHSupport.cmake | 11 ++++++----- modules/haartraining/CMakeLists.txt | 6 ++++++ modules/highgui/CMakeLists.txt | 2 +- modules/traincascade/CMakeLists.txt | 3 +++ 6 files changed, 24 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ab1e404981..f5e57803cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -230,6 +230,12 @@ endif() include(OpenCVPCHSupport.cmake REQUIRED) include(OpenCVModule.cmake REQUIRED) +if(PCHSupport_FOUND) + SET(USE_PRECOMPILED_HEADERS ON CACHE BOOL "Use precompiled headers") +else() + SET(USE_PRECOMPILED_HEADERS OFF CACHE BOOL "Use precompiled headers" FORCE) +endif() + if(UNIX) include(OpenCVFindPkgConfig.cmake OPTIONAL) include(CheckFunctionExists) diff --git a/OpenCVModule.cmake b/OpenCVModule.cmake index 5f32c10aab..9c21465b07 100644 --- a/OpenCVModule.cmake +++ b/OpenCVModule.cmake @@ -46,7 +46,7 @@ macro(define_opencv_module name) INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" ) - if(PCHSupport_FOUND) + if(PCHSupport_FOUND AND USE_PRECOMPILED_HEADERS) set(pch_header ${CMAKE_CURRENT_SOURCE_DIR}/src/precomp.hpp) if(${CMAKE_GENERATOR} MATCHES "Visual*" OR ${CMAKE_GENERATOR} MATCHES "Xcode*") if(${CMAKE_GENERATOR} MATCHES "Visual*") @@ -110,7 +110,7 @@ macro(define_opencv_module name) add_executable(${the_target} ${test_srcs} ${test_hdrs}) - if(PCHSupport_FOUND) + if(PCHSupport_FOUND AND USE_PRECOMPILED_HEADERS) set(pch_header ${CMAKE_CURRENT_SOURCE_DIR}/test/test_precomp.hpp) if(${CMAKE_GENERATOR} MATCHES "Visual*" OR ${CMAKE_GENERATOR} MATCHES "Xcode*") if(${CMAKE_GENERATOR} MATCHES "Visual*") diff --git a/OpenCVPCHSupport.cmake b/OpenCVPCHSupport.cmake index 2fdfba5571..a631a642a8 100644 --- a/OpenCVPCHSupport.cmake +++ b/OpenCVPCHSupport.cmake @@ -34,11 +34,6 @@ ELSE() ENDIF() ENDIF(CMAKE_COMPILER_IS_GNUCXX) -#if (ANDROID) - #SET(PCHSupport_FOUND FALSE) -#endif() - - MACRO(_PCH_GET_COMPILE_FLAGS _out_compile_flags) @@ -213,6 +208,12 @@ MACRO(ADD_PRECOMPILED_HEADER _targetName _input) ELSE(${_targetType} STREQUAL SHARED_LIBRARY) ADD_LIBRARY(${_targetName}_pch_dephelp STATIC ${_pch_dephelp_cxx}) ENDIF(${_targetType} STREQUAL SHARED_LIBRARY) + + set_target_properties(${_targetName}_pch_dephelp PROPERTIES + DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}" + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/" + ) + FILE(MAKE_DIRECTORY ${_outdir}) diff --git a/modules/haartraining/CMakeLists.txt b/modules/haartraining/CMakeLists.txt index 74d021d16b..047c3776a0 100644 --- a/modules/haartraining/CMakeLists.txt +++ b/modules/haartraining/CMakeLists.txt @@ -38,6 +38,12 @@ set(cvhaartraining_lib_src ) add_library(opencv_haartraining_engine STATIC ${cvhaartraining_lib_src}) +set_target_properties(opencv_haartraining_engine PROPERTIES + DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}" + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/" + INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" + ) if(NOT ANDROID) # ----------------------------------------------------------- diff --git a/modules/highgui/CMakeLists.txt b/modules/highgui/CMakeLists.txt index 618b396489..2e601866c1 100644 --- a/modules/highgui/CMakeLists.txt +++ b/modules/highgui/CMakeLists.txt @@ -252,7 +252,7 @@ endif() add_library(${the_target} ${lib_srcs} ${highgui_hdrs} ${grfmt_hdrs} ${highgui_ext_hdrs}) -if(PCHSupport_FOUND) +if(PCHSupport_FOUND AND USE_PRECOMPILED_HEADERS) set(pch_header ${CMAKE_CURRENT_SOURCE_DIR}/src/precomp.hpp) if(${CMAKE_GENERATOR} MATCHES "Visual*" OR ${CMAKE_GENERATOR} MATCHES "Xcode*") if(${CMAKE_GENERATOR} MATCHES "Visual*") diff --git a/modules/traincascade/CMakeLists.txt b/modules/traincascade/CMakeLists.txt index eb39a0cea4..382ff1fcf3 100644 --- a/modules/traincascade/CMakeLists.txt +++ b/modules/traincascade/CMakeLists.txt @@ -30,6 +30,9 @@ add_executable(${the_target} ${traincascade_files}) add_dependencies(${the_target} ${traincascade_libs}) set_target_properties(${the_target} PROPERTIES DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}" + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/" + INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" OUTPUT_NAME "opencv_traincascade") target_link_libraries(${the_target} ${traincascade_libs})