|  | 13 | if ( WIN32 ) | 
                          |  | 14 | # Define where the DLLs will be copied after building them. This path has | 
                          |  | 15 | # to be passed as a preprocessor definition when building AimsunDS so that | 
                          |  | 16 | # the resulting executable will know where to look for DLL files. | 
                          |  | 17 | set ( DLL_DIRECTORY "${CMAKE_SOURCE_DIR}/aimsun_bdm/dlls" ) | 
                          |  | 18 | set ( ELS_DIRECTORY "${CMAKE_SOURCE_DIR}/aimsun_bdm/els3" ) | 
                          |  | 19 | # Define macro for copying the DLLs to DLL_DIRECTORY | 
                          |  | 20 | # This is not very pretty ... we need to use different DLL names | 
                          |  | 21 | # for Debug and Release versions of the code and CMake does not offer | 
                          |  | 22 | # any property or variable that would reflect the proper target library | 
                          |  | 23 | # name. Hence, we have to use Visual Studio macros. Aaaarrrgggh. | 
                          |  | 24 | macro ( copydll DLL_TARGET DLL_DIR ) | 
                          |  | 25 | add_custom_command ( | 
                          |  | 26 | TARGET ${DLL_TARGET} | 
                          |  | 27 | POST_BUILD | 
                          |  | 28 | COMMENT "Saving a copy of the ${DLL_TARGET} DLL to ${DLL_DIR} ..." | 
                          |  | 29 | COMMAND echo md "${DLL_DIR}" | 
                          |  | 30 | COMMAND ${CMAKE_COMMAND} -E make_directory "${DLL_DIR}" | 
                          |  | 31 | COMMAND echo copy "$(TargetPath)" "${DLL_DIR}" | 
                          |  | 32 | COMMAND ${CMAKE_COMMAND} -E copy "$(TargetPath)" "${DLL_DIR}" | 
                          |  | 33 | VERBATIM | 
                          |  | 34 | ) | 
                          |  | 35 | endmacro ( copydll ) | 
                          |  | 36 | endif ( WIN32 ) | 
                          |  | 37 |  | 
            
                      
                        | 22 |  | include_directories ( aimsun_bdm/eh_api aimsun_bdm/els3/include aimsun_bdm/vgs_api ) | 
                        | 23 |  | # executable | 
                        | 24 |  | EXEC(main_loop traffic_agents aimsun_bdm eh_api vgs_api) | 
                      
                        |  | 47 | include_directories ( aimsun_bdm/eh_api aimsun_bdm/els3/include aimsun_bdm/vgs_api ) | 
                        |  | 48 | # executable | 
                        |  | 49 | exec ( main_loop traffic_agents aimsun_bdm eh_api vgs_api ) | 
                        |  | 50 | # Delay load the following DLL libraries. Some of them will not be linked at all, | 
                        |  | 51 | # unfortunately we have no means to determine if we are building a Debug or Release | 
                        |  | 52 | # version - have we have to specify all possible DLL versions. | 
                        |  | 53 | set_property ( | 
                        |  | 54 | TARGET main_loop | 
                        |  | 55 | PROPERTY LINK_FLAGS "/DELAYLOAD:eh_api.dll /DELAYLOAD:eh_apid.dll /DELAYLOAD:vgs_api.dll /DELAYLOAD:vgs_apid.dll" | 
                        |  | 56 | ) | 
                        |  | 57 | target_link_libraries ( main_loop Delayimp.lib ) |