Skip to content

Commit 10aeecc

Browse files
committed
update cmake files
1 parent ec85f61 commit 10aeecc

15 files changed

+117
-38
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,4 @@ examples/LoadFileExampleNoGUI/LoadFileExampleNoGUI/x64/
3939

4040
*.db-wal
4141
*.db-shm
42+
examples/CreateWallAndWriteFile/SimpleWall.ifc

CMakeLists.txt

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
1111
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
1212
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
1313
endif()
14-
MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
14+
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
1515

1616
project(IFCPP)
17-
MESSAGE(STATUS "------------------------------------------------------------------------")
17+
message(STATUS "------------------------------------------------------------------------")
1818

19-
OPTION(BUILD_CONSOLE_APPLICATION "Build an example CLI application" ON)
20-
OPTION(BUILD_VIEWER_APPLICATION "Build the viewer example application" ON)
19+
option(BUILD_CONSOLE_APPLICATION "Build an example CLI application" ON)
20+
option(BUILD_VIEWER_APPLICATION "Build the viewer example application" ON)
2121
option(USE_OSG_DEBUG "Use openscenegraph debug library" OFF)
22-
OPTION(BUILD_STATIC_LIBRARY "Build static library" OFF)
22+
option(BUILD_STATIC_LIBRARY "Build static library" OFF)
2323

2424
IF(NOT WIN32)
2525
IF("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
@@ -31,19 +31,19 @@ IF(NOT WIN32)
3131
ENDIF()
3232
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
3333
ELSE(NOT WIN32)
34-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
34+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
3535
ENDIF(NOT WIN32)
3636

37-
SET(CARVE_SOURCE_DIR ${IFCPP_SOURCE_DIR}/external/Carve)
38-
SET(CARVE_BINARY_DIR ${IFCPP_BINARY_DIR})
39-
SET(IFCPP_CONFIG_DIR "share/IFCPP/cmake")
37+
set(CARVE_SOURCE_DIR ${IFCPP_SOURCE_DIR}/external/Carve)
38+
set(CARVE_BINARY_DIR ${IFCPP_BINARY_DIR})
39+
set(IFCPP_CONFIG_DIR "share/IFCPP/cmake")
4040
ADD_SUBDIRECTORY (external/Carve)
4141
ADD_SUBDIRECTORY (IfcPlusPlus)
4242

4343
# Install configuration file
4444
INCLUDE(CMakePackageConfigHelpers)
45-
SET(config_file_input "${CMAKE_CURRENT_SOURCE_DIR}/cmake/IFCPPConfig.cmake.in")
46-
SET(config_file_output "${CMAKE_CURRENT_BINARY_DIR}/cmake/IFCPPConfig.cmake")
45+
set(config_file_input "${CMAKE_CURRENT_SOURCE_DIR}/cmake/IFCPPConfig.cmake.in")
46+
set(config_file_output "${CMAKE_CURRENT_BINARY_DIR}/cmake/IFCPPConfig.cmake")
4747

4848
CONFIGURE_PACKAGE_CONFIG_FILE(
4949
${config_file_input}
@@ -53,8 +53,9 @@ CONFIGURE_PACKAGE_CONFIG_FILE(
5353
INSTALL(
5454
FILES ${config_file_output}
5555
DESTINATION ${IFCPP_CONFIG_DIR})
56-
56+
5757
IF(BUILD_CONSOLE_APPLICATION)
58+
ADD_SUBDIRECTORY (examples/CreateWallAndWriteFile)
5859
ADD_SUBDIRECTORY (examples/LoadFileExampleConsole)
5960
ENDIF()
6061
IF(BUILD_VIEWER_APPLICATION)

IfcPlusPlus/CMakeLists.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
CMAKE_MINIMUM_REQUIRED (VERSION 3.7.2)
1+
CMAKE_MINIMUM_REQUIRED (VERSION 2.8...3.7.2)
22

33
IF(WIN32)
44
# for vs2017
5-
SET(VC_LIBS
6-
Bcrypt.lib
7-
)
5+
SET(VC_LIBS Bcrypt.lib)
86
ENDIF(WIN32)
97

108
IF(NOT WIN32)
@@ -64,18 +62,21 @@ if (MSVC)
6462
ENDIF()
6563

6664
IF(BUILD_STATIC_LIBRARY)
65+
ADD_DEFINITIONS(-DIFCQUERY_STATIC_LIB)
6766
ADD_LIBRARY(IfcPlusPlus STATIC ${IFCPP_SOURCE_FILES})
6867
ELSE(BUILD_STATIC_LIBRARY)
6968
ADD_DEFINITIONS(-DIFCQUERY_AS_DYNAMIC_LIBRARY)
7069
ADD_DEFINITIONS(-DIFCQUERY_LIB)
7170
ADD_LIBRARY(IfcPlusPlus SHARED ${IFCPP_SOURCE_FILES})
7271
ENDIF(BUILD_STATIC_LIBRARY)
7372

73+
link_directories( ${CMAKE_BINARY_DIR}/IfcPlusPlus/${CMAKE_BUILD_TYPE} )
74+
link_directories( ${CMAKE_BINARY_DIR}/external/Carve/${CMAKE_BUILD_TYPE} )
7475
TARGET_LINK_LIBRARIES(IfcPlusPlus
7576
PUBLIC
7677
carve
7778
${VC_LIBS}
78-
)
79+
)
7980

8081
TARGET_INCLUDE_DIRECTORIES(IfcPlusPlus
8182
PUBLIC
@@ -88,7 +89,6 @@ IF(WIN32)
8889
set_target_properties(IfcPlusPlus PROPERTIES LINK_FLAGS_DEBUG "/debug /INCREMENTAL:NO")
8990
ENDIF()
9091

91-
9292
INSTALL(
9393
DIRECTORY src/ifcpp
9494
DESTINATION include
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
CMAKE_MINIMUM_REQUIRED (VERSION 3.7.2)
2+
3+
IF(NOT WIN32)
4+
IF(NOT CMAKE_BUILD_TYPE)
5+
SET(CMAKE_BUILD_TYPE "Release")
6+
ENDIF()
7+
8+
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
9+
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
10+
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
11+
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
12+
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
13+
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
14+
ENDIF(NOT WIN32)
15+
16+
find_package(OpenMP)
17+
18+
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/IfcPlusPlus/Debug)
19+
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/IfcPlusPlus/${CMAKE_BUILD_TYPE})
20+
21+
ADD_EXECUTABLE(CreateWallAndWriteFile
22+
${IFCPP_SOURCE_DIR}/examples/CreateWallAndWriteFile/src/main.cpp
23+
)
24+
25+
set_target_properties(CreateWallAndWriteFile PROPERTIES DEBUG_POSTFIX "d")
26+
27+
if(OpenMP_CXX_FOUND)
28+
TARGET_LINK_LIBRARIES(CreateWallAndWriteFile debug IfcPlusPlusd)
29+
TARGET_LINK_LIBRARIES(CreateWallAndWriteFile optimized IfcPlusPlus OpenMP::OpenMP_CXX)
30+
else(OpenMP_CXX_FOUND)
31+
TARGET_LINK_LIBRARIES(CreateWallAndWriteFile debug IfcPlusPlusd optimized IfcPlusPlus)
32+
endif()
33+
34+
IF(BUILD_STATIC_LIBRARY)
35+
ADD_DEFINITIONS(-DIFCQUERY_STATIC_LIB)
36+
ENDIF()
37+
38+
TARGET_INCLUDE_DIRECTORIES(CreateWallAndWriteFile
39+
PRIVATE
40+
${CMAKE_CURRENT_SOURCE_DIR}/src
41+
${CMAKE_CURRENT_SOURCE_DIR}/src
42+
${CMAKE_CURRENT_SOURCE_DIR}/src/external
43+
${CMAKE_CURRENT_SOURCE_DIR}/src/external/RapidJSON
44+
${CMAKE_CURRENT_SOURCE_DIR}/src
45+
${IFCPP_SOURCE_DIR}/IfcPlusPlus/src
46+
)
47+
48+
INSTALL(
49+
TARGETS CreateWallAndWriteFile
50+
RUNTIME DESTINATION bin
51+
LIBRARY DESTINATION bin
52+
ARCHIVE DESTINATION lib
53+
)

examples/CreateWallAndWriteFile/CreateWallAndWriteFile.sln

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 15
4-
VisualStudioVersion = 15.0.28307.757
3+
# Visual Studio Version 16
4+
VisualStudioVersion = 16.0.31025.194
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CreateWallAndWriteFile", "CreateWallAndWriteFile\CreateWallAndWriteFile.vcxproj", "{ECE47E9B-9C3B-45AF-AA56-8DE83C3E5955}"
6+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CreateWallAndWriteFile", "CreateWallAndWriteFile.vcxproj", "{ECE47E9B-9C3B-45AF-AA56-8DE83C3E5955}"
77
EndProject
88
Global
99
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@
171171
</Link>
172172
</ItemDefinitionGroup>
173173
<ItemGroup>
174-
<ClCompile Include="CreateWallAndWriteFile.cpp" />
174+
<ClCompile Include="src/main.cpp" />
175175
</ItemGroup>
176176
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
177177
<ImportGroup Label="ExtensionTargets">

examples/LoadFileExampleConsole/CMakeLists.txt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,33 @@ ENDIF(NOT WIN32)
1515

1616
find_package(OpenMP)
1717

18+
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/IfcPlusPlus/Debug)
19+
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/IfcPlusPlus/${CMAKE_BUILD_TYPE})
20+
1821
ADD_EXECUTABLE(LoadFileExampleConsole
1922
${IFCPP_SOURCE_DIR}/examples/LoadFileExampleConsole/src/main.cpp
2023
)
2124

2225
set_target_properties(LoadFileExampleConsole PROPERTIES DEBUG_POSTFIX "d")
2326

2427
if(OpenMP_CXX_FOUND)
25-
TARGET_LINK_LIBRARIES(LoadFileExampleConsole debug IfcPlusPlusd OpenMP::OpenMP_CXX)
26-
TARGET_LINK_LIBRARIES(LoadFileExampleConsole optimized IfcPlusPlus OpenMP::OpenMP_CXX)
28+
TARGET_LINK_LIBRARIES(LoadFileExampleConsole optimized IfcPlusPlus OpenMP::OpenMP_CXX debug IfcPlusPlusd )
2729
else(OpenMP_CXX_FOUND)
28-
TARGET_LINK_LIBRARIES(LoadFileExampleConsole debug IfcPlusPlusd)
29-
TARGET_LINK_LIBRARIES(LoadFileExampleConsole optimized IfcPlusPlus)
30+
TARGET_LINK_LIBRARIES(LoadFileExampleConsole optimized IfcPlusPlus debug IfcPlusPlusd)
3031
endif()
3132

33+
IF(BUILD_STATIC_LIBRARY)
34+
ADD_DEFINITIONS(-DIFCQUERY_STATIC_LIB)
35+
ENDIF()
36+
3237
TARGET_INCLUDE_DIRECTORIES(LoadFileExampleConsole
3338
PRIVATE
39+
${CMAKE_CURRENT_SOURCE_DIR}/src
3440
${CMAKE_CURRENT_SOURCE_DIR}/src
3541
${CMAKE_CURRENT_SOURCE_DIR}/src/external
3642
${CMAKE_CURRENT_SOURCE_DIR}/src/external/RapidJSON
43+
${CMAKE_CURRENT_SOURCE_DIR}/src
44+
${IFCPP_SOURCE_DIR}/IfcPlusPlus/src
3745
)
3846

3947
INSTALL(

0 commit comments

Comments
 (0)