Skip to content

Commit

Permalink
Add CMake config module for installed project
Browse files Browse the repository at this point in the history
  • Loading branch information
eikel committed Sep 10, 2012
1 parent 56a2d0c commit 8884563
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 2 deletions.
28 changes: 26 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ macro(opencollada_add_lib
set(CMAKE_REQUIRED_LIBRARIES "${name}_static;${CMAKE_REQUIRED_LIBRARIES}" PARENT_SCOPE)

install(
TARGETS ${name}_static
TARGETS ${name}_static EXPORT LibraryExport
ARCHIVE DESTINATION ${OPENCOLLADA_INST_LIBRARY}
)
endif ()
Expand All @@ -76,7 +76,7 @@ macro(opencollada_add_lib
set(CMAKE_REQUIRED_LIBRARIES "${name}_shared;${CMAKE_REQUIRED_LIBRARIES}" PARENT_SCOPE)

install(
TARGETS ${name}_shared
TARGETS ${name}_shared EXPORT LibraryExport
LIBRARY DESTINATION ${OPENCOLLADA_INST_LIBRARY}
)
endif ()
Expand Down Expand Up @@ -132,6 +132,11 @@ set(EXECUTABLE_OUTPUT_PATH ${OPENCOLLADA_SOURCE_DIR}/bin) # executables
set(EXTERNAL_LIBRARIES ${OPENCOLLADA_SOURCE_DIR}/Externals) # external libraries
set(CMAKE_MODULE_PATH "${EXTERNAL_LIBRARIES}/cmake-modules")

set(OPENCOLLADA_VERSION_MAJOR 0)
set(OPENCOLLADA_VERSION_MINOR 1)
set(OPENCOLLADA_VERSION_PATCH 0)
set(OPENCOLLADA_VERSION ${OPENCOLLADA_VERSION_MAJOR}.${OPENCOLLADA_VERSION_MINOR}.${OPENCOLLADA_VERSION_PATCH})


#-----------------------------------------------------------------------------
# Compiler warnings.
Expand Down Expand Up @@ -166,6 +171,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARNINGS}")

set(OPENCOLLADA_INST_INCLUDE ${CMAKE_INSTALL_PREFIX}/include/opencollada)
set(OPENCOLLADA_INST_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/opencollada)
set(OPENCOLLADA_INST_CMAKECONFIG ${OPENCOLLADA_INST_LIBRARY}/cmake)


#-----------------------------------------------------------------------------
Expand Down Expand Up @@ -243,3 +249,21 @@ add_subdirectory(COLLADAStreamWriter)

# building COLLADAValidator app
add_subdirectory(COLLADAValidator)


# Library export
install(EXPORT LibraryExport DESTINATION ${OPENCOLLADA_INST_CMAKECONFIG} FILE OpenCOLLADATargets.cmake)

# Create the configuration files
include(CMakePackageConfigHelpers)
configure_package_config_file(OpenCOLLADAConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/OpenCOLLADAConfig.cmake
INSTALL_DESTINATION ${OPENCOLLADA_INST_CMAKECONFIG}
PATH_VARS OPENCOLLADA_INST_INCLUDE OPENCOLLADA_INST_CMAKECONFIG
NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO)
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/OpenCOLLADAConfigVersion.cmake
VERSION ${OPENCOLLADA_VERSION}
COMPATIBILITY SameMajorVersion)

# Install the configuration files
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OpenCOLLADAConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/OpenCOLLADAConfigVersion.cmake
DESTINATION ${OPENCOLLADA_INST_CMAKECONFIG})
58 changes: 58 additions & 0 deletions OpenCOLLADAConfig.cmake.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# - Configuration file for the OpenCOLLADA library
# It defines the following variables:
# OPENCOLLADA_INCLUDE_DIRS - include directories for OpenCOLLADA
# OPENCOLLADA_LIBRARIES - libraries to link against OpenCOLLADA
# OPENCOLLADA_VERSION_MAJOR - major version of OpenCOLLADA
# OPENCOLLADA_VERSION_MINOR - minor version of OpenCOLLADA
# OPENCOLLADA_VERSION_PATCH - patch version of OpenCOLLADA
# OPENCOLLADA_VERSION_STRING - human-readable string containing the version of OpenCOLLADA

# Set the version of OpenCOLLADA
set(OPENCOLLADA_VERSION_MAJOR @OPENCOLLADA_VERSION_MAJOR@)
set(OPENCOLLADA_VERSION_MINOR @OPENCOLLADA_VERSION_MINOR@)
set(OPENCOLLADA_VERSION_PATCH @OPENCOLLADA_VERSION_PATCH@)
set(OPENCOLLADA_VERSION_STRING ${OPENCOLLADA_VERSION_MAJOR}.${OPENCOLLADA_VERSION_MINOR}.${OPENCOLLADA_VERSION_PATCH})

@PACKAGE_INIT@

# Set the include directory
set(OPENCOLLADA_INCLUDE_DIRS
"@PACKAGE_OPENCOLLADA_INST_INCLUDE@/COLLADABaseUtils"
"@PACKAGE_OPENCOLLADA_INST_INCLUDE@/COLLADABaseUtils/Math"
"@PACKAGE_OPENCOLLADA_INST_INCLUDE@/COLLADAFramework"
"@PACKAGE_OPENCOLLADA_INST_INCLUDE@/COLLADASaxFrameworkLoader"
"@PACKAGE_OPENCOLLADA_INST_INCLUDE@/COLLADASaxFrameworkLoader/generated14"
"@PACKAGE_OPENCOLLADA_INST_INCLUDE@/COLLADASaxFrameworkLoader/generated15"
"@PACKAGE_OPENCOLLADA_INST_INCLUDE@/COLLADAStreamWriter"
"@PACKAGE_OPENCOLLADA_INST_INCLUDE@/GeneratedSaxParser"
)

# Import the exported targets
include("@PACKAGE_OPENCOLLADA_INST_CMAKECONFIG@/OpenCOLLADATargets.cmake")

# Set the library variable
if(UNIX)
set(OPENCOLLADA_LIBRARIES
ftoa_shared
buffer_shared
UTF_shared
MathMLSolver_shared
OpenCOLLADABaseUtils_shared
OpenCOLLADAFramework_shared
GeneratedSaxParser_shared
OpenCOLLADASaxFrameworkLoader_shared
OpenCOLLADAStreamWriter_shared
)
else()
set(OPENCOLLADA_LIBRARIES
ftoa_static
buffer_static
UTF_static
MathMLSolver_static
OpenCOLLADABaseUtils_static
OpenCOLLADAFramework_static
GeneratedSaxParser_static
OpenCOLLADASaxFrameworkLoader_static
OpenCOLLADAStreamWriter_static
)
endif()

0 comments on commit 8884563

Please sign in to comment.