Commit c497a63b by Vicent Martí

Merge pull request #1001 from veeti/build-fixes

Changes to CMake for packaging
parents 11c2a9c6 88e0fc05
...@@ -66,9 +66,9 @@ ELSE (ZLIB_FOUND) ...@@ -66,9 +66,9 @@ ELSE (ZLIB_FOUND)
ENDIF() ENDIF()
# Installation paths # Installation paths
SET(INSTALL_BIN bin CACHE PATH "Where to install binaries to.") SET(BIN_INSTALL_DIR bin CACHE PATH "Where to install binaries to.")
SET(LIB_INSTALL_DIR lib CACHE PATH "Where to install libraries to.") SET(LIB_INSTALL_DIR lib CACHE PATH "Where to install libraries to.")
SET(INSTALL_INC include CACHE PATH "Where to install headers to.") SET(INCLUDE_INSTALL_DIR include CACHE PATH "Where to install headers to.")
# Build options # Build options
OPTION (BUILD_SHARED_LIBS "Build Shared Library (OFF for Static)" ON) OPTION (BUILD_SHARED_LIBS "Build Shared Library (OFF for Static)" ON)
...@@ -93,8 +93,8 @@ IF (MSVC) ...@@ -93,8 +93,8 @@ IF (MSVC)
# Precompiled headers # Precompiled headers
ELSE () ELSE ()
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g ${CMAKE_C_FLAGS}")
SET(CMAKE_C_FLAGS "-O2 -g -D_GNU_SOURCE -Wall -Wextra -Wno-missing-field-initializers -Wstrict-aliasing=2 -Wstrict-prototypes -Wmissing-prototypes ${CMAKE_C_FLAGS}") SET(CMAKE_C_FLAGS "-O2 -g -D_GNU_SOURCE -Wall -Wextra -Wno-missing-field-initializers -Wstrict-aliasing=2 -Wstrict-prototypes -Wmissing-prototypes ${CMAKE_C_FLAGS}")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
IF (MINGW) # MinGW always does PIC and complains if we tell it to IF (MINGW) # MinGW always does PIC and complains if we tell it to
STRING(REGEX REPLACE "-fPIC" "" CMAKE_SHARED_LIBRARY_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") STRING(REGEX REPLACE "-fPIC" "" CMAKE_SHARED_LIBRARY_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
ELSE () ELSE ()
...@@ -163,20 +163,15 @@ IF (MSVC) ...@@ -163,20 +163,15 @@ IF (MSVC)
SET_SOURCE_FILES_PROPERTIES(src/win32/precompiled.c COMPILE_FLAGS "/Ycprecompiled.h") SET_SOURCE_FILES_PROPERTIES(src/win32/precompiled.c COMPILE_FLAGS "/Ycprecompiled.h")
ENDIF () ENDIF ()
# Backward compatibility with INSTALL_LIB variable
if (INSTALL_LIB)
set(LIB_INSTALL_DIR "${INSTALL_LIB}")
ENDIF()
# Install # Install
INSTALL(TARGETS git2 INSTALL(TARGETS git2
RUNTIME DESTINATION ${INSTALL_BIN} RUNTIME DESTINATION ${BIN_INSTALL_DIR}
LIBRARY DESTINATION ${LIB_INSTALL_DIR} LIBRARY DESTINATION ${LIB_INSTALL_DIR}
ARCHIVE DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
) )
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libgit2.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig ) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libgit2.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig )
INSTALL(DIRECTORY include/git2 DESTINATION ${INSTALL_INC} ) INSTALL(DIRECTORY include/git2 DESTINATION ${INCLUDE_INSTALL_DIR} )
INSTALL(FILES include/git2.h DESTINATION ${INSTALL_INC} ) INSTALL(FILES include/git2.h DESTINATION ${INCLUDE_INSTALL_DIR} )
# Tests # Tests
IF (BUILD_CLAR) IF (BUILD_CLAR)
......
...@@ -66,9 +66,9 @@ For more advanced use or questions about CMake please read <http://www.cmake.org ...@@ -66,9 +66,9 @@ For more advanced use or questions about CMake please read <http://www.cmake.org
The following CMake variables are declared: The following CMake variables are declared:
- `INSTALL_BIN`: Where to install binaries to. - `BIN_INSTALL_DIR`: Where to install binaries to.
- `LIB_INSTALL_DIR`: Where to install libraries to. - `LIB_INSTALL_DIR`: Where to install libraries to.
- `INSTALL_INC`: Where to install headers to. - `INCLUDE_INSTALL_DIR`: Where to install headers to.
- `BUILD_SHARED_LIBS`: Build libgit2 as a Shared Library (defaults to ON) - `BUILD_SHARED_LIBS`: Build libgit2 as a Shared Library (defaults to ON)
- `BUILD_CLAR`: Build [Clar](https://github.com/tanoku/clar)-based test suite (defaults to ON) - `BUILD_CLAR`: Build [Clar](https://github.com/tanoku/clar)-based test suite (defaults to ON)
- `THREADSAFE`: Build libgit2 with threading support (defaults to OFF) - `THREADSAFE`: Build libgit2 with threading support (defaults to OFF)
......
libdir=@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@ libdir=@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@
includedir=@CMAKE_INSTALL_PREFIX@/@INSTALL_INC@ includedir=@CMAKE_INSTALL_PREFIX@/@INCLUDE_INSTALL_DIR@
Name: libgit2 Name: libgit2
Description: The git library, take 2 Description: The git library, take 2
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment