Skip to content

Commit 76bd1cd

Browse files
committed
Initial fix for broken CMake config files
1 parent 300324c commit 76bd1cd

File tree

5 files changed

+60
-69
lines changed

5 files changed

+60
-69
lines changed

CMakeLists.txt

Lines changed: 46 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ endif ()
6767

6868
include ( configure.cmake )
6969

70-
7170
# generated config files end up in binary dir so to find them, need
7271
# to add to include path
7372
include_directories( "${PROJECT_SOURCE_DIR}/include" )
@@ -76,29 +75,6 @@ add_definitions( -DPACKAGE="RAWTOACES" -DVERSION="${RAWTOACES_VERSION}" )
7675
add_subdirectory("src/${RAWTOACESIDTLIB}")
7776
add_subdirectory("src/${RAWTOACESLIB}")
7877

79-
80-
81-
# Create a RAWTOACESBuildTreeSettings.cmake file for the use from the build tree
82-
file(RELATIVE_PATH CONF_REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}" "${INSTALL_INCLUDE_DIR}")
83-
configure_file(config/RAWTOACESBuildTreeSettings.cmake.in "${PROJECT_BINARY_DIR}/RAWTOACESBuildTreeSettings.cmake" @ONLY)
84-
configure_file(config/RAWTOACESConfig.cmake.in "${PROJECT_BINARY_DIR}/RAWTOACESConfig.cmake" @ONLY)
85-
configure_file(config/RAWTOACESConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/RAWTOACESConfigVersion.cmake" @ONLY)
86-
87-
if ( PKG_CONFIG_FOUND )
88-
configure_file(config/RAWTOACES.pc.in "${PROJECT_BINARY_DIR}/RAWTOACES.pc" @ONLY)
89-
install( FILES "${PROJECT_BINARY_DIR}/RAWTOACES.pc" DESTINATION lib/pkgconfig COMPONENT dev )
90-
endif()
91-
92-
install( FILES
93-
"${PROJECT_BINARY_DIR}/RAWTOACESConfig.cmake"
94-
"${PROJECT_BINARY_DIR}/RAWTOACESConfigVersion.cmake"
95-
DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT dev)
96-
97-
if ( WIN32 AND NOT CYGWIN )
98-
install( FILES "${PROJECT_BINARY_DIR}/RAWTOACESLibraryDepends.cmake" DESTINATION
99-
"${INSTALL_CMAKE_DIR}" COMPONENT dev )
100-
endif( )
101-
10278
if ( APPLE OR UNIX )
10379
install (DIRECTORY data DESTINATION include/rawtoaces)
10480
endif()
@@ -133,13 +109,52 @@ add_subdirectory(unittest)
133109

134110
install( TARGETS rawtoaces DESTINATION bin )
135111

136-
# uninstall target
137-
configure_file(
138-
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
139-
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
140-
IMMEDIATE @ONLY)
112+
include( GNUInstallDirs )
113+
include( CMakePackageConfigHelpers )
114+
115+
if ( PKG_CONFIG_FOUND )
116+
configure_file (config/RAWTOACES.pc.in "${PROJECT_BINARY_DIR}/RAWTOACES.pc" @ONLY )
117+
install (FILES "${PROJECT_BINARY_DIR}/RAWTOACES.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT dev )
118+
endif ()
119+
120+
file( WRITE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake" "# Dummy file" )
121+
122+
write_basic_package_version_file(
123+
"${PROJECT_NAME}ConfigVersion.cmake"
124+
VERSION ${RAWTOACES_VERSION}
125+
COMPATIBILITY SameMajorVersion
126+
)
127+
128+
configure_package_config_file(
129+
config/${PROJECT_NAME}Config.cmake.in
130+
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
131+
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
132+
)
141133

142-
add_custom_target(uninstall
143-
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
134+
install(
135+
TARGETS ${RAWTOACESIDTLIB} ${RAWTOACESLIB}
136+
EXPORT ${PROJECT_NAME}Targets
137+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
138+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
139+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
140+
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
141+
PUBLIC_HEADER
142+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
143+
)
144144

145+
install (
146+
FILES
147+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
148+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
149+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
150+
)
151+
152+
install(
153+
EXPORT ${PROJECT_NAME}Targets
154+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
155+
FILE ${PROJECT_NAME}Targets.cmake
156+
NAMESPACE ${PROJECT_NAME}::
157+
EXPORT_LINK_INTERFACE_LIBRARIES
158+
)
145159

160+
install( DIRECTORY data DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME} )

config/RAWTOACES.pc.in

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ prefix=@CMAKE_INSTALL_PREFIX@
22
exec_prefix=@INSTALL_BIN_DIR@
33
libdir=@INSTALL_LIB_DIR@
44
includedir=@INSTALL_INCLUDE_DIR@
5-
RAWTOACES_includedir=@INSTALL_INCLUDE_DIR@/RAWTOACES
5+
RAWTOACES_includedir=@INSTALL_INCLUDE_DIR@/RawToAces
66

7-
Name: RAWTOACES
8-
Description: RAWTOACES raw image to ACES
7+
Name: RawToAces
8+
Description: RawToAces raw image to ACES
99
Version: @RAWTOACES_VERSION@
10-
Libs: -L${libdir} -lCeres -lraw -lAcesContainer -lHalf
11-
Cflags: -I${RAWTOACES_includedir}
10+
Libs: -L${libdir} -lCeres -lraw -lAcesContainer -lHalf @IlmBase_LDFLAGS@
11+
Cflags: @IlmBase_CFLAGS@ -I${RAWTOACES_includedir}

config/RAWTOACESBuildTreeSettings.cmake.in

Lines changed: 0 additions & 1 deletion
This file was deleted.

config/RAWTOACESConfig.cmake.in

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,11 @@
1-
# CMake config file for RAWTOACES
2-
# defines the following variables:
3-
#
4-
# RAWTOACES_INCLUDE_DIRS
5-
# RAWTOACES_LIBRARIES
6-
# RAWTOACES_EXECUTABLE
1+
@PACKAGE_INIT@
72

8-
# find paths
9-
get_filename_component( RAWTOACES_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH )
10-
if( EXISTS "${RAWTOACES_CMAKE_DIR}/CMakeCache.txt" )
11-
# build tree...
12-
include( "${RAWTOACES_CMAKE_DIR}/RAWTOACESBuildTreeSettings.cmake" )
13-
else()
14-
set( RAWTOACES_INCLUDE_DIRS "${RAWTOACES_CMAKE_DIR}/@CONF_REL_INCLUDE_DIR@" )
15-
endif
3+
# Find dependencies required by RawToAces
4+
include ( CMakeFindDependencyMacro )
5+
find_dependency( Boost REQUIRED COMPONENTS headers system filesystem )
6+
find_dependency( Imath REQUIRED )
7+
find_dependency( Eigen3 REQUIRED )
8+
find_dependency( Ceres REQUIRED )
169

17-
# setup our library dependencies (i.e. Imath)
18-
include( "${RAWTOACES_CMAKE_DIR}/RAWTOACESLibraryDepends.cmake" )
19-
20-
set( RAWTOACES_LIBRARIES RAWTOACES )
21-
set( RAWTOACES_EXECUTABLE rawtoaces )
10+
include( "${CMAKE_CURRENT_LIST_DIR}/@[email protected]" )
11+
check_required_components( "@PROJECT_NAME@" )

config/RAWTOACESConfigVersion.cmake.in

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)