Skip to content

Commit e6c6a9c

Browse files
committed
Create Orcania::Orcania(-static) targets
1 parent 9b0bebe commit e6c6a9c

File tree

5 files changed

+26
-3
lines changed

5 files changed

+26
-3
lines changed

recipes/orcania/all/conanfile.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,5 +89,16 @@ def package_info(self):
8989
libname += "-static"
9090
self.cpp_info.libs = [libname]
9191

92+
target_name = "Orcania::Orcanisa" if self.options.shared else "Orcania::Orcania-static"
93+
self.cpp_info.set_property("cmake_file_name", "Orcania")
94+
self.cpp_info.set_property("cmake_target_name", target_name)
95+
self.cpp_info.set_property("cmake_module_file_name", "Orcania")
96+
self.cpp_info.set_property("cmake_module_target_name", target_name)
9297
self.cpp_info.set_property("pkg_config_name", "libcorcania")
98+
99+
# TODO: to remove in conan v2 once cmake_find_package_* generators removed
100+
self.cpp_info.filenames["cmake_find_package"] = "Orcania"
101+
self.cpp_info.filenames["cmake_find_package_multi"] = "Orcania"
102+
self.cpp_info.names["cmake_find_package"] = "Orcania"
103+
self.cpp_info.names["cmake_find_package_multi"] = "Orcania"
93104
self.cpp_info.names["pkg_config"] = "liborcania"

recipes/orcania/all/test_package/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,11 @@ project(test_package LANGUAGES C)
33

44
find_package(orcania REQUIRED CONFIG)
55

6+
option(ORCANIA_SHARED "Orcnia is built as a shared library")
7+
68
add_executable(${PROJECT_NAME} test_package.c)
7-
target_link_libraries(${PROJECT_NAME} PRIVATE orcania::orcania)
9+
if(ORCANIA_SHARED)
10+
target_link_libraries(${PROJECT_NAME} PRIVATE Orcania::Orcania)
11+
else()
12+
target_link_libraries(${PROJECT_NAME} PRIVATE Orcania::Orcania-static)
13+
endif()

recipes/orcania/all/test_package/conanfile.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ def requirements(self):
1717

1818
def generate(self):
1919
tc = CMakeToolchain(self)
20+
tc.variables["ORCANIA_SHARED"] = self.options["orcania"].shared
2021
tc.generate()
2122

2223
def build(self):

recipes/orcania/all/test_v1_package/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,8 @@ conan_basic_setup(TARGETS)
77
find_package(orcania REQUIRED CONFIG)
88

99
add_executable(${PROJECT_NAME} ../test_package/test_package.c)
10-
target_link_libraries(${PROJECT_NAME} PRIVATE orcania::orcania)
10+
if(ORCANIA_SHARED)
11+
target_link_libraries(${PROJECT_NAME} PRIVATE Orcania::Orcania)
12+
else()
13+
target_link_libraries(${PROJECT_NAME} PRIVATE Orcania::Orcania-static)
14+
endif()

recipes/orcania/all/test_v1_package/conanfile.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ class TestPackageConan(ConanFile):
77
generators = "cmake", "cmake_find_package_multi"
88

99
def build(self):
10-
cmake = CMake(self)
10+
cmake = CMake(self))
11+
cmake.definitions["ORCANIA_SHARED"] = self.options["orcania"].shared
1112
cmake.configure()
1213
cmake.build()
1314

0 commit comments

Comments
 (0)