Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/src/CMakeLists.txt
169654 views
1
set(netconvertlibs
2
netwrite netimport netbuild foreign_eulerspiral ${GDAL_LIBRARY} netimport_vissim netimport_vissim_typeloader netimport_vissim_tempstructs ${commonlibs} ${TCMALLOC_LIBRARY})
3
4
set(sumolibs
5
traciserver netload microsim_cfmodels microsim_engine microsim_lcmodels microsim_devices microsim_trigger microsim_output microsim_transportables microsim_actions
6
microsim_traffic_lights microsim mesosim ${commonvehiclelibs} ${GEOS_LIBRARY})
7
if (OPENSCENEGRAPH_FOUND)
8
set(osgviewlib osgview)
9
endif ()
10
set(sumoguilibs
11
gui guinetload guisim gui gui_dialogs utils_gui_windows utils_gui_globjects utils_gui_div utils_gui_settings
12
utils_gui_images utils_gui_cursors utils_gui_shortcuts utils_tests utils_gui_tracker utils_foxtools utils_traction_wire ${osgviewlib} microsim traciserver libsumoguistatic ${sumolibs} mesogui
13
${GDAL_LIBRARY} ${FFMPEG_LIBRARIES} ${OPENSCENEGRAPH_LIBRARIES} ${GL2PS_LIBRARIES})
14
if (MSVC)
15
set(sumoguilibs ${sumoguilibs} opengl32 glu32)
16
endif ()
17
18
add_subdirectory(activitygen)
19
add_subdirectory(dfrouter)
20
add_subdirectory(duarouter)
21
if (FMI)
22
add_subdirectory(fmi)
23
endif ()
24
add_subdirectory(foreign)
25
add_subdirectory(jtrrouter)
26
add_subdirectory(libsumo)
27
add_subdirectory(libtraci)
28
add_subdirectory(marouter)
29
add_subdirectory(mesosim)
30
add_subdirectory(microsim)
31
add_subdirectory(netbuild)
32
add_subdirectory(netgen)
33
add_subdirectory(netimport)
34
add_subdirectory(netload)
35
add_subdirectory(netwrite)
36
add_subdirectory(od)
37
if (OPENSCENEGRAPH_FOUND)
38
add_subdirectory(osgview)
39
endif ()
40
add_subdirectory(polyconvert)
41
add_subdirectory(router)
42
add_subdirectory(tools)
43
add_subdirectory(traci-server)
44
add_subdirectory(traci_testclient)
45
add_subdirectory(utils)
46
if (FOX_FOUND)
47
add_subdirectory(gui)
48
add_subdirectory(guinetload)
49
add_subdirectory(guisim)
50
add_subdirectory(mesogui)
51
if (NETEDIT)
52
add_subdirectory(netedit)
53
endif ()
54
endif ()
55
56
add_executable(sumo sumo_main.cpp)
57
set_target_properties(sumo PROPERTIES OUTPUT_NAME sumo${BINARY_SUFFIX})
58
set_target_properties(sumo PROPERTIES OUTPUT_NAME_DEBUG sumo${BINARY_SUFFIX}D)
59
target_link_libraries(sumo microsim traciserver libsumostatic ${sumolibs} ${TCMALLOC_LIBRARY})
60
add_dependencies(sumo generate-version-h install_dll)
61
62
if (FOX_FOUND)
63
add_executable(sumo-gui guisim_main.cpp sumo-gui.rc)
64
set_target_properties(sumo-gui PROPERTIES OUTPUT_NAME sumo-gui${BINARY_SUFFIX})
65
set_target_properties(sumo-gui PROPERTIES OUTPUT_NAME_DEBUG sumo-gui${BINARY_SUFFIX}D)
66
target_link_libraries(sumo-gui ${sumoguilibs} ${TCMALLOC_LIBRARY})
67
if (MSVC)
68
if (CONSOLE_RELEASE)
69
set_target_properties(sumo-gui PROPERTIES LINK_FLAGS_RELEASE "/ENTRY:mainCRTStartup")
70
else ()
71
set_target_properties(sumo-gui PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")
72
endif()
73
if (FFMPEG_FOUND)
74
set_target_properties(sumo-gui PROPERTIES LINK_FLAGS "/SAFESEH:NO")
75
endif ()
76
if (CMAKE_VERSION VERSION_LESS "3.16.0")
77
message(STATUS "DPI awareness for sumo-gui will be disabled. Please consider using CMake version >= 3.16 to enable it")
78
else ()
79
set_target_properties(sumo-gui PROPERTIES VS_DPI_AWARE "ON")
80
endif ()
81
endif ()
82
add_dependencies(sumo-gui generate-version-h install_dll install_mo)
83
install(TARGETS sumo-gui RUNTIME DESTINATION bin)
84
endif ()
85
86
add_executable(netconvert netconvert_main.cpp)
87
set_target_properties(netconvert PROPERTIES OUTPUT_NAME netconvert${BINARY_SUFFIX})
88
set_target_properties(netconvert PROPERTIES OUTPUT_NAME_DEBUG netconvert${BINARY_SUFFIX}D)
89
target_link_libraries(netconvert ${netconvertlibs})
90
add_dependencies(netconvert generate-version-h install_dll)
91
92
add_executable(od2trips od2trips_main.cpp)
93
set_target_properties(od2trips PROPERTIES OUTPUT_NAME od2trips${BINARY_SUFFIX})
94
set_target_properties(od2trips PROPERTIES OUTPUT_NAME_DEBUG od2trips${BINARY_SUFFIX}D)
95
target_link_libraries(od2trips od router ${commonvehiclelibs} ${TCMALLOC_LIBRARY})
96
add_dependencies(od2trips generate-version-h install_dll)
97
98
install(TARGETS sumo netconvert od2trips RUNTIME DESTINATION bin)
99
install(DIRECTORY libsumo DESTINATION include
100
FILES_MATCHING PATTERN "*.h"
101
PATTERN "*Helper.h" EXCLUDE
102
PATTERN "Subscription.h" EXCLUDE)
103
104
configure_file(config.h.cmake config.h)
105
106
# obtain version from git folder
107
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../.git/index")
108
set(VERSION_DEP "${CMAKE_CURRENT_SOURCE_DIR}/../.git/index")
109
endif()
110
111
# define version.h dependency
112
add_custom_command(OUTPUT version.h
113
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../tools/build_config/version.py ${CMAKE_CURRENT_BINARY_DIR}
114
DEPENDS ${VERSION_DEP}
115
)
116
add_custom_target(generate-version-h DEPENDS version.h)
117
set_property(TARGET generate-version-h PROPERTY FOLDER "CMake")
118
119