diff --git a/CMakeLists.txt b/CMakeLists.txt index 85099008..1f8fb58c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,25 +72,15 @@ if( MSVC ) # link dependent libraries if ( NOT EXPAT_LIBRARY ) - if (OUT_OF_SOURCE) - set(EXPAT_LIBRARY ../../../${E}/$(ConfigurationName)/expat) - set(EXPAT_INCLUDE_DIR ../${E}/lib) - else() - set(EXPAT_LIBRARY ../../${E}/$(ConfigurationName)/expat) - set(EXPAT_INCLUDE_DIR ../${E}/lib) - endif() + set(EXPAT_LIBRARY ${CMAKE_SOURCE_DIR}/../${E}/$(ConfigurationName)/expat) + set(EXPAT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../${E}/lib) include_directories( ${EXPAT_INCLUDE_DIR} msvc64\\include src\\include) endif() FIND_PACKAGE(ZLIB QUIET) if ( NOT ZLIB_FOUND ) - if (OUT_OF_SOURCE) - set(ZLIB_LIBRARY ../../../${Z}/$(ConfigurationName)/zlib ) - set(ZLIB_INCLUDE_DIR ../${Z}) - else() - set(ZLIB_LIBRARY ../../${Z}/$(ConfigurationName)/zlib) - set(ZLIB_INCLUDE_DIR ../${Z}) - endif() + set(ZLIB_LIBRARY ${CMAKE_SOURCE_DIR}/../${Z}/$(ConfigurationName)/zlib) + set(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../${Z}) endif() include_directories(${ZLIB_INCLUDE_DIR}) diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index f1a5e364..5746dec5 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -14,6 +14,8 @@ if (MSVC) # link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../zlib-1.2.7/$(ConfigurationName)) endif() endif() +include_directories("${CMAKE_SOURCE_DIR}/include") + SET( SAMPLES addmoddel.cpp convert-test.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 66bdd11e..a4bdbfa6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -256,29 +256,20 @@ ENDIF() ## # copy zlib and expat dlls to output directory (TODO: rewrite for NMake) IF ( MSVC AND EXIV2_ENABLE_SHARED ) - if (OUT_OF_SOURCE) - ADD_CUSTOM_COMMAND( - TARGET exiv2lib - POST_BUILD - COMMAND copy /y $(SolutionDir)..\\..\\${E}\\$(ConfigurationName)\\*.dll $(SolutionDir)\\bin\\${P_DIR}\\${T_DIR}\\$(ConfigurationName) - ) - ADD_CUSTOM_COMMAND( - TARGET exiv2lib - POST_BUILD - COMMAND copy /y $(SolutionDir)..\\..\\${Z}\\$(ConfigurationName)\\*.dll $(SolutionDir)\\bin\\${P_DIR}\\${T_DIR}\\$(ConfigurationName) - ) - else() - ADD_CUSTOM_COMMAND( - TARGET exiv2lib - POST_BUILD - COMMAND copy /y $(SolutionDir)..\\${E}\\$(ConfigurationName)\\*.dll $(SolutionDir)\\bin\\${P_DIR}\\${T_DIR}\\$(ConfigurationName) - ) - ADD_CUSTOM_COMMAND( - TARGET exiv2lib - POST_BUILD - COMMAND copy /y $(SolutionDir)..\\${Z}\\$(ConfigurationName)\\*.dll $(SolutionDir)\\bin\\${P_DIR}\\${T_DIR}\\$(ConfigurationName) - ) - endif() + get_filename_component(EXPAT_LIBRARY_DIR ${EXPAT_LIBRARY} PATH) + string(REGEX REPLACE "/" "\\\\" EXPAT_LIBRARY_DIR ${EXPAT_LIBRARY_DIR}) + get_filename_component(ZLIB_LIBRARY_DIR ${ZLIB_LIBRARY} PATH) + string(REGEX REPLACE "/" "\\\\" ZLIB_LIBRARY_DIR ${ZLIB_LIBRARY_DIR}) + ADD_CUSTOM_COMMAND( + TARGET exiv2lib + POST_BUILD + COMMAND copy /y ${EXPAT_LIBRARY_DIR}\\*.dll $(SolutionDir)\\bin\\${P_DIR}\\${T_DIR}\\$(ConfigurationName) + ) + ADD_CUSTOM_COMMAND( + TARGET exiv2lib + POST_BUILD + COMMAND copy /y ${ZLIB_LIBRARY_DIR}\\*.dll $(SolutionDir)\\bin\\${P_DIR}\\${T_DIR}\\$(ConfigurationName) + ) ENDIF() INSTALL( TARGETS exiv2lib ${INSTALL_TARGET_STANDARD_ARGS} )