aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Barto <bartoc@umich.edu>2016-10-18 17:57:53 -0400
committerCharles Barto <bartoc@umich.edu>2016-10-19 01:28:55 -0400
commitf6fcd77e21215133ded2c3b6e7559d99ffcb70e4 (patch)
treede17ed1f1a7a0ff868cdfc526a8cb068bb997d18
parent413dcf6b917ee9d2893946ed0253917746f969af (diff)
downloadvcpkg-f6fcd77e21215133ded2c3b6e7559d99ffcb70e4.tar.gz
vcpkg-f6fcd77e21215133ded2c3b6e7559d99ffcb70e4.zip
cmake port for libodb
-rw-r--r--ports/libodb-sqlite/portfile.cmake3
-rw-r--r--ports/libodb/CMakeLists.txt34
-rw-r--r--ports/libodb/portfile.cmake36
3 files changed, 43 insertions, 30 deletions
diff --git a/ports/libodb-sqlite/portfile.cmake b/ports/libodb-sqlite/portfile.cmake
index 3c8876c29..2a471a034 100644
--- a/ports/libodb-sqlite/portfile.cmake
+++ b/ports/libodb-sqlite/portfile.cmake
@@ -26,3 +26,6 @@ else()
endif()
vcpkg_build_msbuild(PROJECT_PATH "${SOURCE_PATH}\\libodb-sqlite-vc12.sln" PLATFORM ${MSBUILD_PLATFORM}
OPTIONS "/p:useenv=true")
+
+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
new file mode 100644
index 000000000..d5d14baa2
--- /dev/null
+++ b/ports/libodb/CMakeLists.txt
@@ -0,0 +1,34 @@
+cmake_minimum_required(VERSION 3.0)
+project(libodb VERSION 2.4.0 LANGUAGES CXX)
+set(LIBODB_INSTALL_HEADERS:BOOL CACHE OFF)
+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>
+)
+if(BUILD_SHARED_LIBS)
+ target_compile_definitions(libodb PRIVATE
+ -DLIBODB_DYNAMIC_LIB)
+else()
+ target_compile_definitions(libodb PRIVATE
+ -DLIBODB_STATIC_LIB)
+endif()
+install(TARGETS libodb EXPORT libodbConfig
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin
+)
+if(LIBODB_INSTALL_HEADERS)
+install(DIRECTORY odb DESTINATION include/
+ FILES_MATCHING
+ PATTERN "*.h"
+ PATTERN "*.hxx"
+ PATTERN "*.ixx"
+ PATTERN "*.txx"
+)
+endif()
+install(EXPORT libodbConfig DESTINATION share/libodb)
+export(TARGETS libodb NAMESPACE libodb FILE libodbConfig.cmake)
diff --git a/ports/libodb/portfile.cmake b/ports/libodb/portfile.cmake
index fdb5f9467..b389d6ff0 100644
--- a/ports/libodb/portfile.cmake
+++ b/ports/libodb/portfile.cmake
@@ -15,36 +15,12 @@ vcpkg_download_distfile(ARCHIVE
SHA512 f1311458634695eb6ba307ebfd492e3b260e7beb06db1c5c46df58c339756be4006322cdc4e42d055bf5b2ad14ce4656ddcafcc4e16c282034db8a77d255c3eb
)
vcpkg_extract_source_archive(${ARCHIVE})
-vcpkg_execute_required_process(COMMAND devenv libodb-vc12.sln /upgrade WORKING_DIRECTORY ${SOURCE_PATH} LOGNAME devenv_upgrade.log)
-if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86")
- set(MSBUILD_PLATFORM "Win32")
-else()
- set(MSBUILD_PLATFORM "x64")
-endif()
-vcpkg_build_msbuild(PROJECT_PATH "${SOURCE_PATH}\\libodb-vc12.sln" PLATFORM ${MSBUILD_PLATFORM})
-
-if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86")
-file(INSTALL ${SOURCE_PATH}/bin/odb-2.4-vc12.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-2.4-vc14.dll)
-file(INSTALL ${SOURCE_PATH}/bin/odb-2.4-vc12.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-2.4-vc14.pdb)
-file(INSTALL ${SOURCE_PATH}/bin/odb-d-2.4-vc12.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/odb-2.4-vc14.dll)
-file(INSTALL ${SOURCE_PATH}/bin/odb-d-2.4-vc12.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/odb-d-2.4-vc14.pdb)
-file(INSTALL ${SOURCE_PATH}/lib/odb.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(INSTALL ${SOURCE_PATH}/lib/odb-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-elseif(${TRIPLET_SYSTEM_ARCH} STREQUAL "x64")
-file(INSTALL ${SOURCE_PATH}/bin64/odb-2.4-vc12.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-2.4-vc14.dll)
-file(INSTALL ${SOURCE_PATH}/bin64/odb-2.4-vc12.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-2.4-vc14.pdb)
-file(INSTALL ${SOURCE_PATH}/bin64/odb-d-2.4-vc12.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-2.4-vc14.dll)
-file(INSTALL ${SOURCE_PATH}/bin64/odb-d-2.4-vc12.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-d-2.4-vc14.pdb)
-file(INSTALL ${SOURCE_PATH}/lib64/odb.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(INSTALL ${SOURCE_PATH}/lib64/odb-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-endif()
-
-#file(GLOB_RECURSE INCLUDE_FILES LIST_DIRECTORIES false RELATIVE ${SOURCE_DIR})
-file(INSTALL ${SOURCE_PATH}/odb DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING
- PATTERN "*.h"
- PATTERN "*.hxx"
- PATTERN "*.ixx"
- PATTERN "*.txx")
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS_DEBUG
+ -DLIBODB_INSTALL_HEADERS=OFF
+)
# 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)