]> git.donarmstrong.com Git - flightcrew.git/blobdiff - debian/patches/modify_cmake_for_debian
add initial packaging of debian files including patches
[flightcrew.git] / debian / patches / modify_cmake_for_debian
diff --git a/debian/patches/modify_cmake_for_debian b/debian/patches/modify_cmake_for_debian
new file mode 100644 (file)
index 0000000..7e92ff9
--- /dev/null
@@ -0,0 +1,222 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,12 +41,12 @@
+ set( CMAKE_OSX_ARCHITECTURES "i386;x86_64" )\r
\r
+ # The parsing order is significant!\r
+-add_subdirectory( src/BoostParts )\r
+-add_subdirectory( src/Xerces )\r
++#add_subdirectory( src/BoostParts )\r
++#add_subdirectory( src/Xerces )\r
+ add_subdirectory( src/XercesExtensions )\r
+-add_subdirectory( src/zlib )\r
++#add_subdirectory( src/zlib )\r
+ add_subdirectory( src/zipios )\r
+-add_subdirectory( src/googlemock )\r
++#add_subdirectory( src/googlemock )\r
+ add_subdirectory( src/FlightCrew )\r
+ add_subdirectory( src/FlightCrew-cli )\r
\r
+--- a/src/FlightCrew-cli/CMakeLists.txt
++++ b/src/FlightCrew-cli/CMakeLists.txt
+@@ -59,6 +59,7 @@
+ # "Print all warnings" flag for GCC\r
+ elseif( CMAKE_COMPILER_IS_GNUCXX )\r
+     add_definitions( -Wall )\r
++    set_target_properties( ${PROJECT_NAME} PROPERTIES LINK_FLAGS -Wl,--as-needed )\r
+ endif()\r
\r
+ set_source_files_properties( main.cpp PROPERTIES COMPILE_DEFINITIONS FLIGHTCREW_FULL_VERSION="${FLIGHTCREW_FULL_VERSION}" )\r
+--- a/src/FlightCrew/CMakeLists.txt
++++ b/src/FlightCrew/CMakeLists.txt
+@@ -50,8 +50,8 @@
\r
+ # creating PCH's for MSVC and GCC on Linux\r
+ include( ${CMAKE_SOURCE_DIR}/cmake_extras/CustomPCH.cmake )\r
+-set( ALL_INCLUDES ${BoostParts_SOURCE_DIR}\r
+-                  ${Xerces_SOURCE_DIR}\r
++set( ALL_INCLUDES # ${BoostParts_SOURCE_DIR}\r
++#                  ${Xerces_SOURCE_DIR}\r
+                   ${zipios_SOURCE_DIR} )\r
+ set( GCC_PCH_TARGET gccPCH_fc )\r
\r
+@@ -65,8 +65,8 @@
+ include_directories( ${CMAKE_CURRENT_BINARY_DIR}\r
+                      ${CMAKE_CURRENT_SOURCE_DIR}\r
+                      ../zipios \r
+-                     ../BoostParts \r
+-                     ../Xerces\r
++#                     ../BoostParts \r
++#                     ../Xerces\r
+                      ../XercesExtensions\r
+                      ../utf8-cpp\r
+                    )\r
+@@ -78,11 +78,28 @@
+     # when they want a dll, but NOT FC_DLL_EXPORTING\r
+     add_definitions( -DFC_DLL_EXPORTING -DFC_BUILT_AS_DLL )\r
+     add_library( ${PROJECT_NAME} SHARED ${SOURCES} )\r
++    SET_TARGET_PROPERTIES(\r
++      ${PROJECT_NAME}\r
++      PROPERTIES\r
++      SOVERSION 0\r
++      VERSION 0.7.2\r
++      )\r
+ else()\r
+     add_library( ${PROJECT_NAME} ${SOURCES} )\r
+ endif()\r
\r
+-target_link_libraries( ${PROJECT_NAME} zipios BoostParts XercesExtensions )\r
++find_library(LIB_ZLIB z)\r
++find_library(BOOST_DT boost_date_time)\r
++find_library(BOOST_FS boost_filesystem)\r
++find_library(BOOST_PO boost_program_options)\r
++find_library(BOOST_RE boost_regex)\r
++find_library(BOOST_S boost_system)\r
++find_library(BOOST_T boost_thread)\r
++find_library(LIB_XERCES xerces-c)\r
++SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINK_FLAGS -Wl,--as-needed)\r
++target_link_libraries( ${PROJECT_NAME} ${LIB_ZLIB} ${BOOST_DT} ${BOOST_FS} ${BOOST_PO} ${BOOST_RE} ${BOOST_S} ${BOOST_T} zipios ${LIB_XERCES} XercesExtensions )\r
++INSTALL(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib COMPONENT libraries)\r
++INSTALL(FILES flightcrew.h exception.h DllExporting.h Result.h DESTINATION include/${PROJECT_NAME})\r
\r
+ #############################################################################\r
\r
+@@ -116,7 +133,7 @@
+ endif()\r
\r
+ # needed for correct Xerces header inclusion\r
+-add_definitions( -DXERCES_STATIC_LIBRARY )\r
++#add_definitions( -DXERCES_STATIC_LIBRARY )\r
\r
+ #############################################################################\r
\r
+--- a/src/FlightCrew-gui/CMakeLists.txt
++++ b/src/FlightCrew-gui/CMakeLists.txt
+@@ -67,7 +67,7 @@
+ # and the headers for the linked-to libraries\r
+ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}\r
+                      ${CMAKE_CURRENT_BINARY_DIR}\r
+-                     ${BoostParts_SOURCE_DIR}\r
++#                     ${BoostParts_SOURCE_DIR}\r
+                      ${FlightCrew_SOURCE_DIR}\r
+                      ${XercesExtensions_SOURCE_DIR}\r
+                      )\r
+@@ -110,6 +110,7 @@
+ # "Print all warnings" flag for GCC\r
+ elseif( CMAKE_COMPILER_IS_GNUCXX )\r
+     add_definitions( -Wall )\r
++    set_target_properties( ${PROJECT_NAME} PROPERTIES LINK_FLAGS -Wl,--as-needed )\r
+ endif()\r
\r
+ set_source_files_properties( MainWindow.cpp PROPERTIES COMPILE_DEFINITIONS FLIGHTCREW_FULL_VERSION="${FLIGHTCREW_FULL_VERSION}" )\r
+@@ -135,6 +136,10 @@
+                         WORKING_DIRECTORY ${WORK_DIR}\r
+                         DEPENDS addframeworks )\r
+                 \r
++elseif(DEBIAN)\r
++        # these rules are so that we don't do any crazy installer\r
++        #  building which we've stripped out anyway\r
++        set( WORK_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" )\r
+ # For Linux and Windows, provide binary installers.\r
+ # For this to work on Linux, InstallJammer needs to be installed and on the system path.\r
+ # For this to work on Windows, Inno Setup's iscc compiler needs to be installed and on the system path.\r
+--- a/src/FlightCrew/tests/CMakeLists.txt
++++ b/src/FlightCrew/tests/CMakeLists.txt
+@@ -41,12 +41,11 @@
+ # That means that subdirs inherit the include_directories of their parents.\r
+ # So techincally we don't need to include Xerces etc.\r
+ include_directories( ${CMAKE_CURRENT_BINARY_DIR} \r
+-                     ${CMAKE_CURRENT_SOURCE_DIR} \r
+-                     ../../BoostParts \r
+-                     ../../Xerces \r
+                      ../../XercesExtensions \r
+-                     ../../googlemock/include\r
+-                     ../../googlemock/gtest/include\r
++                     /usr/src/gtest/\r
++                     /usr/include/gtest/\r
++                     /usr/src/gmock/\r
++                     ${CMAKE_CURRENT_SOURCE_DIR}\r
+                    )\r
\r
+ link_directories ( ${PROJECT_BINARY_DIR}/lib ) \r
+@@ -65,7 +64,9 @@
\r
+ add_executable( ${PROJECT_NAME} ${TEST_SOURCES} )\r
\r
+-target_link_libraries( ${PROJECT_NAME} FlightCrew gmock )\r
++add_library( GOOGLE_MOCK_LIB STATIC /usr/src/gmock/src/gmock-all.cc  /usr/src/gtest/src/gtest-all.cc)\r
++\r
++target_link_libraries( ${PROJECT_NAME} FlightCrew GOOGLE_MOCK_LIB )\r
\r
+ #############################################################################\r
\r
+@@ -101,7 +102,7 @@
+ endif()\r
\r
+ # needed for correct Xerces header inclusion\r
+-add_definitions( -DXERCES_STATIC_LIBRARY )\r
++# add_definitions( -DXERCES_STATIC_LIBRARY )\r
\r
+ #############################################################################\r
\r
+--- a/src/XercesExtensions/CMakeLists.txt
++++ b/src/XercesExtensions/CMakeLists.txt
+@@ -16,14 +16,16 @@
+ # We need to pick up the stdafx.h file\r
+ # and the headers for the linked-to libraries\r
+ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}\r
+-                     ../Xerces\r
+-                     ../BoostParts )\r
++#                     ../Xerces\r
++#                     ../BoostParts \r
++)\r
\r
+ link_directories ( ${PROJECT_BINARY_DIR}/lib ) \r
\r
+ add_library( ${PROJECT_NAME} ${SOURCES} )\r
\r
+-target_link_libraries( ${PROJECT_NAME} Xerces )\r
++find_library(LIB_XERCES xerces-c)\r
++target_link_libraries( ${PROJECT_NAME} ${LIB_XERCES} )\r
\r
+ #############################################################################\r
\r
+@@ -45,9 +47,10 @@
\r
+ # "Print all warnings" flag for GCC\r
+ elseif( CMAKE_COMPILER_IS_GNUCXX )\r
++  SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS -fPIC)\r
+     add_definitions( -Wall )\r
+ endif()\r
\r
+ # needed for correct Xerces header inclusion\r
+-add_definitions( -DXERCES_STATIC_LIBRARY )\r
++# add_definitions( -DXERCES_STATIC_LIBRARY )\r
\r
+--- a/src/zipios/CMakeLists.txt
++++ b/src/zipios/CMakeLists.txt
+@@ -25,7 +25,15 @@
\r
+ add_library( ${PROJECT_NAME} ${SOURCES} )\r
\r
+-target_link_libraries( ${PROJECT_NAME} zlib BoostParts )\r
++\r
++find_library(LIB_ZLIB z)\r
++find_library(BOOST_DT boost_date_time)\r
++find_library(BOOST_FS boost_filesystem)\r
++find_library(BOOST_PO boost_program_options)\r
++find_library(BOOST_RE boost_regex)\r
++find_library(BOOST_S boost_system)\r
++find_library(BOOST_T boost_thread)\r
++target_link_libraries( ${PROJECT_NAME} ${LIB_ZLIB} ${BOOST_DT} ${BOOST_FS} ${BOOST_PO} ${BOOST_RE} ${BOOST_S} ${BOOST_T})\r
\r
+ #############################################################################\r
\r
+@@ -44,6 +52,7 @@
\r
+ # "Print all warnings" flag for GCC\r
+ elseif( CMAKE_COMPILER_IS_GNUCXX )\r
++  SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS -fPIC)\r
+     add_definitions( -Wall )\r
+ endif()\r
\r