aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Barto <bartoc@umich.edu>2016-10-18 19:53:43 -0400
committerCharles Barto <bartoc@umich.edu>2016-10-19 01:28:55 -0400
commitcc6fdbeb8baf7882fc701c9778e9b2f8ba6afd4c (patch)
treec9cdb1085120f4915db38596aa40bf1068cec5e2
parentf6fcd77e21215133ded2c3b6e7559d99ffcb70e4 (diff)
downloadvcpkg-cc6fdbeb8baf7882fc701c9778e9b2f8ba6afd4c.tar.gz
vcpkg-cc6fdbeb8baf7882fc701c9778e9b2f8ba6afd4c.zip
more work on libodb
-rw-r--r--ports/libodb-sqlite/CMakeLists.txt43
-rw-r--r--ports/libodb-sqlite/portfile.cmake18
-rw-r--r--ports/libodb/CMakeLists.txt11
-rw-r--r--ports/libodb/portfile.cmake8
4 files changed, 66 insertions, 14 deletions
diff --git a/ports/libodb-sqlite/CMakeLists.txt b/ports/libodb-sqlite/CMakeLists.txt
new file mode 100644
index 000000000..89b99f529
--- /dev/null
+++ b/ports/libodb-sqlite/CMakeLists.txt
@@ -0,0 +1,43 @@
+cmake_minimum_required(VERSION 3.0)
+project(libodb-sqlite VERSION 2.4.0 LANGUAGES CXX)
+find_package(libodb REQUIRED VERSION 2.4.0)
+set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)")
+file(GLOB_RECURSE libodb_src LIST_DIRECTORIES False
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ *.cxx)
+list(FILTER libodb_src EXCLUDE REGEX /posix/.*)
+add_library(sqlite ${libodb_src})
+target_include_directories(sqlite
+ PUBLIC
+ $<INSTALL_INTERFACE:include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+
+)
+target_link_libraries(sqlite libodb::libodb)
+if(BUILD_SHARED_LIBS)
+ target_compile_definitions(sqlite PRIVATE
+ -DLIBODB_SQLITE_DYNAMIC_LIB
+ -DLIBODB_SQLITE_HAVE_UNLOCK_NOTIFY)
+else()
+ target_compile_definitions(sqlite PRIVATE
+ -DLIBODB_SQLITE_STATIC_LIB
+ -DLIBODB_SQLITE_HAVE_UNLOCK_NOTIFY)
+endif()
+install(TARGETS sqlite EXPORT libodb_sqliteConfig
+ COMPONENT sqlite
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin
+)
+if(LIBODB_INSTALL_HEADERS)
+install(DIRECTORY odb DESTINATION include/
+ COMPONENT sqlite
+ FILES_MATCHING
+ PATTERN "*.h"
+ PATTERN "*.hxx"
+ PATTERN "*.ixx"
+ PATTERN "*.txx"
+)
+endif()
+install(EXPORT libodb_sqliteConfig DESTINATION share/libodb)
+export(TARGETS sqlite NAMESPACE libodb FILE libodb_sqliteConfig.cmake)
diff --git a/ports/libodb-sqlite/portfile.cmake b/ports/libodb-sqlite/portfile.cmake
index 2a471a034..0c536066a 100644
--- a/ports/libodb-sqlite/portfile.cmake
+++ b/ports/libodb-sqlite/portfile.cmake
@@ -16,16 +16,14 @@ vcpkg_download_distfile(ARCHIVE
)
vcpkg_extract_source_archive(${ARCHIVE})
-vcpkg_execute_required_process(COMMAND devenv libodb-sqlite-vc12.sln /upgrade WORKING_DIRECTORY ${SOURCE_PATH} LOGNAME devenv_upgrade.log)
-set(ENV{INCLUDE} "$ENV{INCLUDE};${CURRENT_INSTALLED_DIR}/include")
-set(ENV{LIB} "$ENV{LIB};${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/debug/lib")
-if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86")
- set(MSBUILD_PLATFORM "Win32")
-else()
- set(MSBUILD_PLATFORM "x64")
-endif()
-vcpkg_build_msbuild(PROJECT_PATH "${SOURCE_PATH}\\libodb-sqlite-vc12.sln" PLATFORM ${MSBUILD_PLATFORM}
- OPTIONS "/p:useenv=true")
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS_DEBUG
+ -DLIBODB_INSTALL_HEADERS=OFF
+)
+vcpkg_build_cmake()
+vcpkg_install_cmake()
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb/copyright) \ No newline at end of file
diff --git a/ports/libodb/CMakeLists.txt b/ports/libodb/CMakeLists.txt
index d5d14baa2..0d13ecefd 100644
--- a/ports/libodb/CMakeLists.txt
+++ b/ports/libodb/CMakeLists.txt
@@ -1,13 +1,16 @@
cmake_minimum_required(VERSION 3.0)
project(libodb VERSION 2.4.0 LANGUAGES CXX)
-set(LIBODB_INSTALL_HEADERS:BOOL CACHE OFF)
+set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)")
file(GLOB_RECURSE libodb_src LIST_DIRECTORIES False
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
*.cxx)
list(FILTER libodb_src EXCLUDE REGEX /posix/.*)
add_library(libodb ${libodb_src})
target_include_directories(libodb
- PUBLIC $<INSTALL_INTERFACE:include>
+ PUBLIC
+ $<INSTALL_INTERFACE:include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+
)
if(BUILD_SHARED_LIBS)
target_compile_definitions(libodb PRIVATE
@@ -30,5 +33,5 @@ install(DIRECTORY odb DESTINATION include/
PATTERN "*.txx"
)
endif()
-install(EXPORT libodbConfig DESTINATION share/libodb)
-export(TARGETS libodb NAMESPACE libodb FILE libodbConfig.cmake)
+install(EXPORT libodbConfig NAMESPACE libodb:: DESTINATION share/libodb)
+export(TARGETS libodb NAMESPACE libodb:: FILE libodbConfig.cmake)
diff --git a/ports/libodb/portfile.cmake b/ports/libodb/portfile.cmake
index b389d6ff0..493bcc438 100644
--- a/ports/libodb/portfile.cmake
+++ b/ports/libodb/portfile.cmake
@@ -21,6 +21,14 @@ vcpkg_configure_cmake(
OPTIONS_DEBUG
-DLIBODB_INSTALL_HEADERS=OFF
)
+vcpkg_build_cmake()
+vcpkg_install_cmake()
+file(READ ${CURRENT_PACKAGES_DIR}/debug/share/libodb/libodbConfig-debug.cmake LIBODB_DEBUG_TARGETS)
+string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libodb/libodbConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}")
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb/copyright)
+
+vcpkg_copy_pdbs()