diff --git a/openigtlink-install_cmake.patch b/openigtlink-install_cmake.patch new file mode 100644 index 0000000..4a7dba1 --- /dev/null +++ b/openigtlink-install_cmake.patch @@ -0,0 +1,151 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index adaf04c..c68d430 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -81,7 +81,7 @@ IF(NOT OpenIGTLink_INSTALL_INCLUDE_DIR) + ENDIF(NOT OpenIGTLink_INSTALL_INCLUDE_DIR) + + IF(NOT OpenIGTLink_INSTALL_PACKAGE_DIR) +- SET(OpenIGTLink_INSTALL_PACKAGE_DIR ${OpenIGTLink_INSTALL_LIB_DIR} ++ SET(OpenIGTLink_INSTALL_PACKAGE_DIR "${OpenIGTLink_INSTALL_LIB_DIR}/cmake/igtl-${OpenIGTLink_VERSION_MAJOR}.${OpenIGTLink_VERSION_MINOR}" + CACHE INTERNAL "") + ENDIF(NOT OpenIGTLink_INSTALL_PACKAGE_DIR) + +@@ -188,9 +188,8 @@ CMAKE_EXPORT_BUILD_SETTINGS(${OpenIGTLink_BINARY_DIR}/OpenIGTLinkBuildSettings.c + + INSTALL(FILES + ${OpenIGTLink_BINARY_DIR}/OpenIGTLinkBuildSettings.cmake +- ${OpenIGTLink_LIBRARY_TARGETS_FILE} + ${OpenIGTLink_BINARY_DIR}/UseOpenIGTLink.cmake +- ${OpenIGTLink_BINARY_DIR}/OpenIGTLinkConfig.cmake ++ ${OpenIGTLink_BINARY_DIR}/Utilities/OpenIGTLinkConfig.cmake + DESTINATION ${OpenIGTLink_INSTALL_PACKAGE_DIR} + COMPONENT Development + ) +@@ -236,11 +235,15 @@ ENDIF(OpenIGTLink_BUILD_EXAMPLES) + + #----------------------------------------------------------------------------- + # Export targets +-export(TARGETS +- OpenIGTLink ++export(TARGETS OpenIGTLink + FILE "${OpenIGTLink_LIBRARY_TARGETS_FILE}" + ) + ++# Export targets for install ++INSTALL(EXPORT OpenIGTLink ++ DESTINATION "${OpenIGTLink_INSTALL_PACKAGE_DIR}" ++ FILE "OpenIGTLinkTargets.cmake" ++ ) + + #----------------------------------------------------------------------------- + # Tests +diff --git a/GenerateOpenIGTLinkConfig.cmake b/GenerateOpenIGTLinkConfig.cmake +index 94f7d62..90602b9 100644 +--- a/GenerateOpenIGTLinkConfig.cmake ++++ b/GenerateOpenIGTLinkConfig.cmake +@@ -41,8 +41,11 @@ CONFIGURE_FILE(${OpenIGTLink_SOURCE_DIR}/OpenIGTLinkConfig.cmake.in + #----------------------------------------------------------------------------- + # Settings specific to the install tree. + ++# store old OpenIGTLink_LIBRARY_TARGETS_FILE ++SET(OpenIGTLink_LIBRARY_TARGETS_FILE_BUILDTREE ${OpenIGTLink_LIBRARY_TARGETS_FILE}) ++ + # The library dependencies file. +-SET(OpenIGTLink_LIBRARY_DEPENDS_FILE "\${OpenIGTLink_INSTALL_PREFIX}/${OpenIGTLink_INSTALL_PACKAGE_DIR}/OpenIGTLinkLibraryDepends.cmake") ++SET(OpenIGTLink_LIBRARY_TARGETS_FILE "\${OpenIGTLink_INSTALL_PREFIX}/${OpenIGTLink_INSTALL_PACKAGE_DIR}/OpenIGTLinkTargets.cmake") + + # The "use" file. + SET(OpenIGTLink_USE_FILE \${OpenIGTLink_INSTALL_PREFIX}/${OpenIGTLink_INSTALL_PACKAGE_DIR}/UseOpenIGTLink.cmake) +@@ -65,20 +68,12 @@ SET(OpenIGTLink_LIBRARY_DIRS_CONFIG "\${OpenIGTLink_INSTALL_PREFIX}/${OpenIGTLin + #----------------------------------------------------------------------------- + # Configure OpenIGTLinkConfig.cmake for the install tree. + +-# Construct the proper number of GET_FILENAME_COMPONENT(... PATH) +-# calls to compute the installation prefix. +-STRING(REGEX REPLACE "/" ";" OpenIGTLink_INSTALL_PACKAGE_DIR_COUNT +- "${OpenIGTLink_INSTALL_PACKAGE_DIR}") + SET(OpenIGTLink_CONFIG_CODE " +-# Compute the installation prefix from this OpenIGTLinkConfig.cmake file location. +-GET_FILENAME_COMPONENT(OpenIGTLink_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)") +-FOREACH(p ${OpenIGTLink_INSTALL_PACKAGE_DIR_COUNT}) +- SET(OpenIGTLink_CONFIG_CODE +- "${OpenIGTLink_CONFIG_CODE}\nGET_FILENAME_COMPONENT(OpenIGTLink_INSTALL_PREFIX \"\${OpenIGTLink_INSTALL_PREFIX}\" PATH)" +- ) +-ENDFOREACH(p) +- ++SET(OpenIGTLink_INSTALL_PREFIX \"${CMAKE_INSTALL_PREFIX}\")") + + CONFIGURE_FILE(${OpenIGTLink_SOURCE_DIR}/OpenIGTLinkConfig.cmake.in + ${OpenIGTLink_BINARY_DIR}/Utilities/OpenIGTLinkConfig.cmake @ONLY IMMEDIATE) + ++# restore old OpenIGTLink_LIBRARY_TARGETS_FILE ++SET(OpenIGTLink_LIBRARY_TARGETS_FILE ${OpenIGTLink_LIBRARY_TARGETS_FILE_BUILDTREE}) ++ +diff --git a/OpenIGTLinkConfig.cmake.in b/OpenIGTLinkConfig.cmake.in +index 2dc5b00..ad9bcea 100644 +--- a/OpenIGTLinkConfig.cmake.in ++++ b/OpenIGTLinkConfig.cmake.in +@@ -47,5 +47,5 @@ SET(OpenIGTLink_CableSwig_DIR "@OpenIGTLink_CableSwig_DIR_CONFIG@") + SET(OpenIGTLink_LIBRARIES OpenIGTLink) + + # The OpenIGTLink library targets. +-SET(OpenIGTLink_LIBRARY_TARGETS_FILE @OpenIGTLink_LIBRARY_TARGETS_FILE@) ++SET(OpenIGTLink_LIBRARY_TARGETS_FILE "@OpenIGTLink_LIBRARY_TARGETS_FILE@") + include(${OpenIGTLink_LIBRARY_TARGETS_FILE}) +diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt +index 536c11f..ddd5d87 100644 +--- a/Source/CMakeLists.txt ++++ b/Source/CMakeLists.txt +@@ -30,8 +30,7 @@ ENDIF(OpenIGTLink_PLATFORM_WIN32) + + ADD_SUBDIRECTORY( igtlutil ) + +-set(OpenIGTLink_INCLUDE_DIRS +- PUBLIC ++SET(OpenIGTLink_INCLUDE_DIRS + ${CMAKE_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} +@@ -180,21 +179,16 @@ IF (${OpenIGTLink_PROTOCOL_VERSION} GREATER "1" ) + ) + ENDIF ( ${OpenIGTLink_PROTOCOL_VERSION} GREATER "1") + +-IF( ${CMAKE_GENERATOR} MATCHES "Visual Studio" ) +-ADD_LIBRARY(OpenIGTLink +- ${OpenIGTLink_SOURCES} +- ${OpenIGTLink_INCLUDE_FILES} +- ) +-ELSE ( ${CMAKE_GENERATOR} MATCHES "Visual Studio" ) +-ADD_LIBRARY(OpenIGTLink +- ${OpenIGTLink_SOURCES} +- ) +-ENDIF( ${CMAKE_GENERATOR} MATCHES "Visual Studio" ) ++ADD_LIBRARY(OpenIGTLink ${OpenIGTLink_SOURCES} ${OpenIGTLink_INCLUDE_FILES}) ++foreach(p IN LISTS OpenIGTLink_INCLUDE_DIRS) ++ target_include_directories(OpenIGTLink PUBLIC ++ $) ++endforeach() ++target_include_directories(OpenIGTLink PUBLIC ++ $) ++ ++TARGET_LINK_LIBRARIES(OpenIGTLink PUBLIC ${LINK_LIBS}) + +-include_directories(OpenIGTLink ${OpenIGTLink_INCLUDE_DIRS}) +-TARGET_LINK_LIBRARIES(OpenIGTLink +- ${LINK_LIBS} +- ) + IF(MSVC) + target_compile_options(OpenIGTLink PRIVATE /MP) + ENDIF() +@@ -208,7 +202,7 @@ INSTALL(FILES ${OpenIGTLink_INCLUDE_FILES} + DESTINATION ${OpenIGTLink_INSTALL_INCLUDE_DIR} + COMPONENT Development) + +-INSTALL(TARGETS OpenIGTLink ++INSTALL(TARGETS OpenIGTLink EXPORT OpenIGTLink + RUNTIME DESTINATION ${OpenIGTLink_INSTALL_BIN_DIR} COMPONENT RuntimeLibraries + LIBRARY DESTINATION ${OpenIGTLink_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries +- ARCHIVE DESTINATION ${OpenIGTLink_INSTALL_LIB_DIR} COMPONENT Development) +\ No newline at end of file ++ ARCHIVE DESTINATION ${OpenIGTLink_INSTALL_LIB_DIR} COMPONENT Development) diff --git a/openigtlink-install_headers.patch b/openigtlink-install_headers.patch new file mode 100644 index 0000000..b9cfff2 --- /dev/null +++ b/openigtlink-install_headers.patch @@ -0,0 +1,12 @@ +Index: OpenIGTLink-2.0/Source/CMakeLists.txt +=================================================================== +--- OpenIGTLink-2.0.orig/Source/CMakeLists.txt ++++ OpenIGTLink-2.0/Source/CMakeLists.txt +@@ -76,6 +76,7 @@ SET(OpenIGTLink_INCLUDE_FILES + igtlutil/igtl_header.h + igtlutil/igtl_image.h + igtlutil/igtl_position.h ++ igtlutil/igtl_status.h + igtlutil/igtl_transform.h + igtlutil/igtl_types.h + igtlutil/igtl_util.h diff --git a/openigtlink.spec b/openigtlink.spec index fc258ec..683a73b 100644 --- a/openigtlink.spec +++ b/openigtlink.spec @@ -3,7 +3,7 @@ Name: openigtlink Version: 2.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Implementation of the OpenIGTLink network communication protocol License: BSD @@ -16,6 +16,12 @@ Patch0: openigtlink-remove_broken_code.patch # patch from upsream Patch1: openigtlink-fix_byte_order.patch +# RHBZ1509365 +Patch2: openigtlink-install_cmake.patch + +# RHBZ1509407 +Patch3: openigtlink-install_headers.patch + BuildRequires: gcc-c++ BuildRequires: cmake @@ -60,8 +66,9 @@ pushd build # disable gtest due to upstream bug #122 %cmake \ -DUSE_GTEST=OFF \ - -D%{srcname}_INSTALL_LIB_DIR=%{_libdir} \ - -D%{srcname}_INSTALL_PACKAGE_DIR=%{_libdir}/cmake/%{srcname} \ + -D%{srcname}_INSTALL_LIB_DIR=%{_lib} \ + -D%{srcname}_INSTALL_PACKAGE_DIR=%{_lib}/cmake/%{srcname} \ + -D%{srcname}_LEGACY_REMOVE=ON \ .. %make_build @@ -97,6 +104,10 @@ popd %changelog +* Sun Nov 19 2017 Dmitry Mikhirev - 2.0-6 +- Install igtl_status.h file #1509407 +- Fix paths in cmake configuration file #1509365 + * Thu Aug 03 2017 Fedora Release Engineering - 2.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild