]> granicus.if.org Git - clang/commitdiff
CMake: add version information into the clang executable and libclang
authorDouglas Gregor <dgregor@apple.com>
Fri, 25 Feb 2011 19:24:02 +0000 (19:24 +0000)
committerDouglas Gregor <dgregor@apple.com>
Fri, 25 Feb 2011 19:24:02 +0000 (19:24 +0000)
shared library.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126502 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt
tools/driver/CMakeLists.txt
tools/libclang/CMakeLists.txt

index a5306fcb9aba992c44aaa9984ca85977f66e1b30..b1ab11de72df0a70c92b9e0dd3dfd4d135c35916 100644 (file)
@@ -234,6 +234,16 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
 
 add_definitions( -D_GNU_SOURCE -DHAVE_CLANG_CONFIG_H )
 
+# Clang version information
+set(CLANG_EXECUTABLE_VERSION
+     "${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}" CACHE STRING
+    "Version number that will be placed into the clang executable, in the form XX.YY")
+set(LIBCLANG_LIBRARY_VERSION
+     "${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}" CACHE STRING
+    "Version number that will be placed into the libclang library , in the form XX.YY")
+mark_as_advanced(CLANG_EXECUTABLE_VERSION LIBCLANG_LIBRARY_VERSION)
+
+
 option(CLANG_BUILD_EXAMPLES "Build CLANG example programs." OFF)
 if(CLANG_BUILD_EXAMPLES)
   add_subdirectory(examples)
index 5694d3f5b4803107de330c71ad159793531f458e..552e7a53442794549bfa36e41084b5e0bfecd61d 100644 (file)
@@ -33,6 +33,8 @@ add_clang_executable(clang
   cc1as_main.cpp
   )
 
+set_target_properties(clang PROPERTIES VERSION ${CLANG_EXECUTABLE_VERSION})
+
 if(UNIX)
   set(CLANGXX_LINK_OR_COPY create_symlink)
 else()
@@ -47,6 +49,7 @@ add_custom_target(clang++ ALL
     "${clang_pp}"
   DEPENDS clang)
 set_target_properties(clang++ PROPERTIES FOLDER "Clang executables")
+
 set_property(DIRECTORY APPEND
   PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${clang_pp})
 
index da72f5a02d01a9e683dc4bc90310063e4afd4f1a..11759eefb6d362f44d4ecd60691653c80c51e614 100644 (file)
@@ -30,15 +30,10 @@ add_clang_library(libclang
 )
 
 if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-  # dylib versioning information
-  # FIXME: Is there a more CMake-ish way to handle this?
-  set(LIBCLANG_VERSION 1 
-      CACHE STRING "Version number of the libclang library")
-  set(LIBCLANG_SUBVERSION 0
-      CACHE STRING "Minor version number of the libclang library")
-  set(LIBCLANG_LINK_FLAGS 
-      "-Wl,-current_version -Wl,${LIBCLANG_VERSION}.${LIBCLANG_SUBVERSION} -Wl,-compatibility_version -Wl,1")
+  # Darwin-specific linker flags
 
+  set(LIBCLANG_LINK_FLAGS "-Wl,-compatibility_version -Wl,1")
+                        
   set(LIBCLANG_LINK_FLAGS 
       "${LIBCLANG_LINK_FLAGS} -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000")
 
@@ -48,6 +43,9 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
     INSTALL_NAME_DIR "@executable_path/../lib")
 endif()
 
+# Versioning information
+set_target_properties(libclang PROPERTIES VERSION ${LIBCLANG_LIBRARY_VERSION})
+
 if(MSVC)
   # windows.h doesn't compile with /Za
   get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS)