Revert "Isolate samples, unittests, coverage and overall build to PROJECT_BINARY_DIR"

This reverts commit 057ddfcf1755380583c6eb4ac97767a652fbfe9d.
main
kamiccolo 2 years ago committed by Rosen Penev
parent c8e6ef2abe
commit 52fb9ee191

@ -92,7 +92,7 @@ if (EXIV2_BUILD_DOC)
generate_documentation("${PROJECT_SOURCE_DIR}/cmake/Doxyfile.in") generate_documentation("${PROJECT_SOURCE_DIR}/cmake/Doxyfile.in")
endif() endif()
include_directories(${PROJECT_BINARY_DIR}) # Make the exv_conf.h file visible for the full project include_directories(${CMAKE_BINARY_DIR}) # Make the exv_conf.h file visible for the full project
if( EXIV2_ENABLE_XMP ) if( EXIV2_ENABLE_XMP )
add_subdirectory( xmpsdk ) add_subdirectory( xmpsdk )

@ -1,8 +1,8 @@
IF(NOT EXISTS "${PROJECT_BINARY_DIR}/install_manifest.txt") IF(NOT EXISTS "${CMAKE_BINARY_DIR}/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: ${PROJECT_BINARY_DIR}/install_manifest.txt") MESSAGE(FATAL_ERROR "Cannot find install manifest: ${CMAKE_BINARY_DIR}/install_manifest.txt")
ENDIF(NOT EXISTS "${PROJECT_BINARY_DIR}/install_manifest.txt") ENDIF(NOT EXISTS "${CMAKE_BINARY_DIR}/install_manifest.txt")
FILE(READ "${PROJECT_BINARY_DIR}/install_manifest.txt" files) FILE(READ "${CMAKE_BINARY_DIR}/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}") STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files}) FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling: ${file}") MESSAGE(STATUS "Uninstalling: ${file}")

@ -1,13 +1,13 @@
if (CONAN_AUTO_INSTALL) if (CONAN_AUTO_INSTALL)
# Download automatically the cmake-conan integration file # Download automatically the cmake-conan integration file
if(NOT EXISTS "${PROJECT_BINARY_DIR}/conan.cmake") if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan") message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/master/conan.cmake" file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/master/conan.cmake"
"${PROJECT_BINARY_DIR}/conan.cmake" "${CMAKE_BINARY_DIR}/conan.cmake"
TLS_VERIFY ON) TLS_VERIFY ON)
endif() endif()
include(${PROJECT_BINARY_DIR}/conan.cmake) include(${CMAKE_BINARY_DIR}/conan.cmake)
conan_cmake_autodetect(settings) conan_cmake_autodetect(settings)
conan_cmake_install(PATH_OR_REFERENCE .. conan_cmake_install(PATH_OR_REFERENCE ..
@ -19,13 +19,13 @@ endif()
if (APPLE) if (APPLE)
# On Apple, we use the conan cmake_paths generator # On Apple, we use the conan cmake_paths generator
if (EXISTS ${PROJECT_BINARY_DIR}/conan_paths.cmake) if (EXISTS ${CMAKE_BINARY_DIR}/conan_paths.cmake)
include(${PROJECT_BINARY_DIR}/conan_paths.cmake) include(${CMAKE_BINARY_DIR}/conan_paths.cmake)
endif() endif()
else() else()
# Otherwise, we rely on the conan cmake_find_package generator # Otherwise, we rely on the conan cmake_find_package generator
list(APPEND CMAKE_MODULE_PATH ${PROJECT_BINARY_DIR}) list(APPEND CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR})
list(APPEND CMAKE_PREFIX_PATH ${PROJECT_BINARY_DIR}) list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR})
endif() endif()
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/") list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/")

@ -8,15 +8,15 @@ if(BUILD_WITH_COVERAGE)
find_program (GCOVR gcovr) find_program (GCOVR gcovr)
if(GCOVR) if(GCOVR)
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/coverage_output ) file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/coverage_output )
add_custom_command(OUTPUT _run_gcovr_parser add_custom_command(OUTPUT _run_gcovr_parser
POST_BUILD POST_BUILD
COMMAND ${GCOVR} --root ${PROJECT_SOURCE_DIR} --object-dir=${PROJECT_BINARY_DIR} --html --html-details -o coverage_output/coverage.html COMMAND ${GCOVR} --root ${CMAKE_SOURCE_DIR} --object-dir=${CMAKE_BINARY_DIR} --html --html-details -o coverage_output/coverage.html
--exclude-directories xmpsdk --exclude-directories unitTests --exclude-directories samples --exclude-directories xmpsdk --exclude-directories unitTests --exclude-directories samples
--exclude '.*xmpsdk.*' --exclude '.*unitTests.*' --exclude '.*samples.*' --exclude '.*xmpsdk.*' --exclude '.*unitTests.*' --exclude '.*samples.*'
--exclude-unreachable-branches --exclude-throw-branches --exclude-unreachable-branches --exclude-throw-branches
WORKING_DIRECTORY ${PROJECT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
) )
add_custom_target (coverage DEPENDS _run_gcovr_parser) add_custom_target (coverage DEPENDS _run_gcovr_parser)
endif() endif()

@ -37,4 +37,4 @@ int main() {
set(EXV_ENABLE_NLS ${EXIV2_ENABLE_NLS}) set(EXV_ENABLE_NLS ${EXIV2_ENABLE_NLS})
set(EXV_ENABLE_VIDEO ${EXIV2_ENABLE_VIDEO}) set(EXV_ENABLE_VIDEO ${EXIV2_ENABLE_VIDEO})
configure_file(cmake/config.h.cmake ${PROJECT_BINARY_DIR}/exv_conf.h @ONLY) configure_file(cmake/config.h.cmake ${CMAKE_BINARY_DIR}/exv_conf.h @ONLY)

@ -10,10 +10,10 @@ include(CTest)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
@ -33,6 +33,6 @@ endif()
# Prevent conflicts when exiv2 is consumed in multiple-subdirectory projects. # Prevent conflicts when exiv2 is consumed in multiple-subdirectory projects.
if (NOT TARGET uninstall) if (NOT TARGET uninstall)
configure_file(cmake/exiv2_uninstall.cmake ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake COPYONLY) configure_file(cmake/exiv2_uninstall.cmake ${CMAKE_BINARY_DIR}/cmake_uninstall.cmake COPYONLY)
add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${PROJECT_BINARY_DIR}/cmake_uninstall.cmake") add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake")
endif() endif()

@ -14,7 +14,7 @@ function(printList items)
endforeach() endforeach()
endfunction() endfunction()
get_property(COMPILER_OPTIONS DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY COMPILE_OPTIONS) get_property(COMPILER_OPTIONS DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY COMPILE_OPTIONS)
message( STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}") message( STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")
message( STATUS "------------------------------------------------------------------" ) message( STATUS "------------------------------------------------------------------" )

@ -39,7 +39,7 @@ foreach(entry ${SAMPLES})
set_target_properties(${target} PROPERTIES set_target_properties(${target} PROPERTIES
COMPILE_FLAGS ${EXTRA_COMPILE_FLAGS}) COMPILE_FLAGS ${EXTRA_COMPILE_FLAGS})
list(APPEND APPLICATIONS ${target}) list(APPEND APPLICATIONS ${target})
target_include_directories(${target} PRIVATE ${PROJECT_SOURCE_DIR}/src) # To find unused.h target_include_directories(${target} PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find unused.h
if ( NOT ${target} MATCHES ".*test.*") # don't install tests if ( NOT ${target} MATCHES ".*test.*") # don't install tests
install( TARGETS ${target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install( TARGETS ${target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif() endif()
@ -54,20 +54,20 @@ endif()
add_executable( getopt-test getopt-test.cpp ../app/getopt.cpp) add_executable( getopt-test getopt-test.cpp ../app/getopt.cpp)
list(APPEND APPLICATIONS getopt-test) list(APPEND APPLICATIONS getopt-test)
target_include_directories(getopt-test PRIVATE target_include_directories(getopt-test PRIVATE
${PROJECT_SOURCE_DIR}/app ${CMAKE_SOURCE_DIR}/app
) # To find getopt.hpp ) # To find getopt.hpp
add_executable( metacopy metacopy.cpp metacopy.hpp ../app/getopt.cpp) add_executable( metacopy metacopy.cpp metacopy.hpp ../app/getopt.cpp)
list(APPEND APPLICATIONS metacopy) list(APPEND APPLICATIONS metacopy)
target_include_directories(metacopy PRIVATE target_include_directories(metacopy PRIVATE
${PROJECT_SOURCE_DIR}/app ${CMAKE_SOURCE_DIR}/app
) # To find getopt.hpp ) # To find getopt.hpp
add_executable( path-test path-test.cpp ../app/getopt.cpp) add_executable( path-test path-test.cpp ../app/getopt.cpp)
list(APPEND APPLICATIONS path-test) list(APPEND APPLICATIONS path-test)
set_target_properties( path-test PROPERTIES OUTPUT_NAME path-test ) set_target_properties( path-test PROPERTIES OUTPUT_NAME path-test )
target_include_directories(path-test PRIVATE target_include_directories(path-test PRIVATE
${PROJECT_SOURCE_DIR}/app ${CMAKE_SOURCE_DIR}/app
) # To find getopt.hpp ) # To find getopt.hpp
install( TARGETS metacopy RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install( TARGETS metacopy RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
@ -85,10 +85,10 @@ if( EXPAT_FOUND )
exiv2-xmp exiv2-xmp
${EXPAT_LIBRARIES} ${EXPAT_LIBRARIES}
) )
target_include_directories(geotag PRIVATE ${PROJECT_BINARY_DIR}) # exv_conf.h target_include_directories(geotag PRIVATE ${CMAKE_BINARY_DIR}) # exv_conf.h
target_include_directories(geotag PRIVATE ${PROJECT_SOURCE_DIR}/include) # <exiv2/exiv2.hpp> target_include_directories(geotag PRIVATE ${CMAKE_SOURCE_DIR}/include) # <exiv2/exiv2.hpp>
target_include_directories(geotag PRIVATE ${EXPAT_INCLUDE_DIR}) target_include_directories(geotag PRIVATE ${EXPAT_INCLUDE_DIR})
target_include_directories(geotag PRIVATE ${PROJECT_SOURCE_DIR}/src) # To find unused.h target_include_directories(geotag PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find unused.h
if (WIN32) if (WIN32)
target_compile_definitions(geotag PRIVATE XML_STATIC) target_compile_definitions(geotag PRIVATE XML_STATIC)

@ -128,7 +128,7 @@ add_library( exiv2lib
generate_export_header(exiv2lib generate_export_header(exiv2lib
EXPORT_MACRO_NAME EXIV2API EXPORT_MACRO_NAME EXIV2API
EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/exiv2lib_export.h EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/exiv2lib_export.h
STATIC_DEFINE exiv2lib_STATIC STATIC_DEFINE exiv2lib_STATIC
) )
@ -291,11 +291,11 @@ install(TARGETS exiv2lib EXPORT exiv2Config
install(FILES install(FILES
${PUBLIC_HEADERS} ${PUBLIC_HEADERS}
${PROJECT_BINARY_DIR}/exv_conf.h ${CMAKE_BINARY_DIR}/exv_conf.h
${PROJECT_BINARY_DIR}/exiv2lib_export.h ${CMAKE_BINARY_DIR}/exiv2lib_export.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/exiv2) DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/exiv2)
install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2") install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2")
install(FILES ${PROJECT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2")

@ -62,7 +62,8 @@ if( EXIV2_ENABLE_PNG )
endif() endif()
target_include_directories(unit_tests target_include_directories(unit_tests
PRIVATE ${PROJECT_SOURCE_DIR}/src PRIVATE
${CMAKE_SOURCE_DIR}/src
) )
set_target_properties(unit_tests PROPERTIES set_target_properties(unit_tests PROPERTIES

Loading…
Cancel
Save