147 lines
5.5 KiB
Diff
147 lines
5.5 KiB
Diff
From a2d3016023d327032f7ccfd1b25fd2aebd420751 Mon Sep 17 00:00:00 2001
|
|
From: Jonathan Scruggs <j.scruggs@gmail.com>
|
|
Date: Sat, 13 Jan 2018 11:54:44 +0000
|
|
Subject: [PATCH] OpenCOLLADA/CMakeLists.txt: Build type, GNUInstallDirs, and
|
|
version fixes
|
|
|
|
Use CMAKE_BUILD_TYPE which can be overrided with custom distro types
|
|
|
|
Adhere to GNU filesystem layout conventions. Not all distros and OSes
|
|
have directories in the same locations and they define the
|
|
GNUInstallDirs variables, so use those variables. Also, this enables
|
|
multi lib installations.
|
|
|
|
Define the version variables to enable SONAME versioning on the
|
|
library files in case there is ABI changes in the future.
|
|
---
|
|
CMakeLists.txt | 58 +++++++++++++++++++++++++++++++-------------------
|
|
1 file changed, 36 insertions(+), 22 deletions(-)
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 95abbe21..00ad8d6a 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -37,14 +37,41 @@ cmake_policy(SET CMP0010 NEW)
|
|
# Input directories must have CMakeLists.txt
|
|
cmake_policy(SET CMP0014 NEW)
|
|
|
|
-# avoid having empty buildtype
|
|
-set(CMAKE_BUILD_TYPE_INIT "Release")
|
|
|
|
-set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Only do Release and Debug" FORCE )
|
|
-mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
|
|
+# Set Release type for builds where CMAKE_BUILD_TYPE is unset
|
|
+# This is usually a good default as this implictly enables
|
|
+#
|
|
+# CXXFLAGS = -O3 -DNDEBUG
|
|
+#
|
|
+if( NOT CMAKE_BUILD_TYPE )
|
|
+ set( CMAKE_BUILD_TYPE "Release" )
|
|
+endif()
|
|
|
|
SET(CMAKE_DEBUG_POSTFIX "" CACHE STRING "Add this string to as suffix to Debug libraries, e.g.: xml2_d.lib " )
|
|
|
|
+# Adhere to GNU filesystem layout conventions
|
|
+include( GNUInstallDirs )
|
|
+
|
|
+
|
|
+# #-----------------------------------------------------------------------------
|
|
+# Initialize project.
|
|
+
|
|
+project(OPENCOLLADA) # must be after setting cmake_configuration_types
|
|
+
|
|
+set(EXTERNAL_LIBRARIES ${OPENCOLLADA_SOURCE_DIR}/Externals) # external libraries
|
|
+set(CMAKE_MODULE_PATH "${EXTERNAL_LIBRARIES}/cmake-modules")
|
|
+
|
|
+set(OPENCOLLADA_VERSION_MAJOR 1)
|
|
+set(OPENCOLLADA_VERSION_MINOR 6)
|
|
+set(OPENCOLLADA_VERSION_PATCH 68)
|
|
+set(OPENCOLLADA_VERSION ${OPENCOLLADA_VERSION_MAJOR}.${OPENCOLLADA_VERSION_MINOR}.${OPENCOLLADA_VERSION_PATCH})
|
|
+
|
|
+if(NOT SOVERSION)
|
|
+ set(SOVERSION ${OPENCOLLADA_VERSION_MAJOR}.${OPENCOLLADA_VERSION_MINOR}
|
|
+ CACHE STRING "Set the SO version in the SO name of the output library")
|
|
+endif()
|
|
+
|
|
+
|
|
#-----------------------------------------------------------------------------
|
|
# Macro's
|
|
|
|
@@ -58,7 +85,7 @@ macro(opencollada_add_lib
|
|
|
|
if (USE_STATIC)
|
|
add_library(${name}_static STATIC ${sources})
|
|
- set_target_properties(${name}_static PROPERTIES OUTPUT_NAME ${name})
|
|
+ set_target_properties(${name}_static PROPERTIES OUTPUT_NAME ${name} SOVERSION ${SOVERSION})
|
|
foreach(target_lib ${target_libs})
|
|
if(TARGET ${target_lib}_static)
|
|
target_link_libraries(${name}_static ${target_lib}_static)
|
|
@@ -80,11 +107,11 @@ macro(opencollada_add_lib
|
|
endif ()
|
|
|
|
if (USE_SHARED)
|
|
- if (NOT UNIX)
|
|
+ if (MSVC)
|
|
message(${name} " WARNING: Shared library support implemented for UNIX-like OS only")
|
|
endif ()
|
|
add_library(${name}_shared SHARED ${sources})
|
|
- set_target_properties(${name}_shared PROPERTIES OUTPUT_NAME ${name})
|
|
+ set_target_properties(${name}_shared PROPERTIES OUTPUT_NAME ${name} SOVERSION ${SOVERSION})
|
|
foreach(target_lib ${target_libs})
|
|
if(TARGET ${target_lib}_shared)
|
|
target_link_libraries(${name}_shared ${target_lib}_shared)
|
|
@@ -145,19 +172,6 @@ endmacro()
|
|
# end copy
|
|
# --------
|
|
|
|
-#-----------------------------------------------------------------------------
|
|
-# Initialize project.
|
|
-
|
|
-project(OPENCOLLADA) # must be after setting cmake_configuration_types
|
|
-
|
|
-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.
|
|
@@ -190,9 +204,9 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARNINGS}")
|
|
#-----------------------------------------------------------------------------
|
|
# Install vars
|
|
|
|
-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)
|
|
+set(OPENCOLLADA_INST_INCLUDE ${CMAKE_INSTALL_INCLUDEDIR}/opencollada)
|
|
+set(OPENCOLLADA_INST_LIBRARY ${CMAKE_INSTALL_LIBDIR}/opencollada)
|
|
+set(OPENCOLLADA_INST_CMAKECONFIG ${CMAKE_INSTALL_LIBDIR}/cmake/OpenCOLLADA)
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
From f0d27b4e198dc6f61a07b868163b4160ba6c37e7 Mon Sep 17 00:00:00 2001
|
|
From: Christopher Mitchell <christopher@geopi.pe>
|
|
Date: Mon, 29 Apr 2019 00:09:34 +0000
|
|
Subject: [PATCH] Added missing file COLLADAFWPolylist.h to install target
|
|
|
|
---
|
|
COLLADAFramework/CMakeLists.txt | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/COLLADAFramework/CMakeLists.txt b/COLLADAFramework/CMakeLists.txt
|
|
index 5a0e0c3f..dddc2ad4 100644
|
|
--- a/COLLADAFramework/CMakeLists.txt
|
|
+++ b/COLLADAFramework/CMakeLists.txt
|
|
@@ -86,6 +86,7 @@ set(INST_SRC
|
|
include/COLLADAFWPassTarget.h
|
|
include/COLLADAFWPointerArray.h
|
|
include/COLLADAFWPolygons.h
|
|
+ include/COLLADAFWPolylist.h
|
|
include/COLLADAFWPrerequisites.h
|
|
include/COLLADAFWRenderDraw.h
|
|
include/COLLADAFWRenderState.h
|