diff --git a/sample/cmake/SampleDependencies.cmake b/sample/cmake/SampleDependencies.cmake index 14cc9430..97ccd1b9 100644 --- a/sample/cmake/SampleDependencies.cmake +++ b/sample/cmake/SampleDependencies.cmake @@ -58,8 +58,8 @@ findorfetch( EXCLUDE_FROM_ALL ) -option(MUJOCO_SAMPLES_STATIC_GLFW "Link MuJoCo sample apps against GLFW statically." ON) -if(MUJOCO_SAMPLES_STATIC_GLFW) +option(MUJOCO_EXTRAS_STATIC_GLFW "Link MuJoCo sample apps and simulate libraries against GLFW statically." OFF) +if(MUJOCO_EXTRAS_STATIC_GLFW) set(BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) set(BUILD_SHARED_LIBS OFF @@ -88,12 +88,12 @@ findorfetch( EXCLUDE_FROM_ALL ) -if(MUJOCO_SAMPLES_STATIC_GLFW) +if(MUJOCO_EXTRAS_STATIC_GLFW) set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Build SHARED libraries" FORCE ) - unset(BUILD_SHARED_LIBS_OLD) + unset(MUJOCO_EXTRAS_STATIC_GLFW) endif() if(NOT SAMPLE_STANDALONE) diff --git a/simulate/CMakeLists.txt b/simulate/CMakeLists.txt index b2010b51..8952977e 100644 --- a/simulate/CMakeLists.txt +++ b/simulate/CMakeLists.txt @@ -70,30 +70,21 @@ if(MUJOCO_HARDEN) endif() endif() -# Utility library -#add_library(uitools STATIC) -#target_sources(uitools PRIVATE uitools.h uitools.c) -#target_include_directories(uitools PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -#target_compile_options(uitools PUBLIC ${MUJOCO_SIMULATE_COMPILE_OPTIONS}) -#target_link_libraries(uitools PUBLIC glfw mujoco::mujoco) -#target_link_options(uitools PRIVATE ${MUJOCO_SIMULATE_LINK_OPTIONS}) - # mjsimulate library -#add_library(mjsimulate SHARED) -#target_sources(mjsimulate PUBLIC simulate.h array_safety.h simulate.cc) -#target_include_directories(mjsimulate PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -#target_compile_definitions(mjsimulate PUBLIC MJSIMULATE_DLL_EXPORTS) -#target_compile_options(mjsimulate PUBLIC ${MUJOCO_SIMULATE_COMPILE_OPTIONS}) -#target_link_libraries(mjsimulate PUBLIC glfw uitools mujoco::mujoco) -#target_link_options(mjsimulate PRIVATE ${MUJOCO_SIMULATE_LINK_OPTIONS}) +add_library(mjsimulate SHARED) +target_sources(mjsimulate PUBLIC simulate.h array_safety.h simulate.cc uitools.h uitools.c) +target_include_directories(mjsimulate PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_compile_definitions(mjsimulate PUBLIC MJSIMULATE_DLL_EXPORTS) +target_compile_options(mjsimulate PUBLIC ${MUJOCO_SIMULATE_COMPILE_OPTIONS}) +target_link_libraries(mjsimulate PUBLIC glfw mujoco::mujoco) +target_link_options(mjsimulate PRIVATE ${MUJOCO_SIMULATE_LINK_OPTIONS}) -#if(APPLE) -# target_sources(mjsimulate PRIVATE macos_save.mm) -# target_link_libraries(mjsimulate PUBLIC "-framework Cocoa") -#endif() - -# Build samples that require GLFW. +if(APPLE) + target_sources(mjsimulate PRIVATE macos_save.mm) + target_link_libraries(mjsimulate PUBLIC "-framework Cocoa") +endif() +# Build simulate executable if(APPLE) set(SIMULATE_RESOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../dist/mujoco.icns) elseif(WIN32) @@ -103,8 +94,6 @@ else() endif() add_executable(simulate main.cc array_safety.h - uitools.h uitools.c - simulate.h array_safety.h simulate.cc ${SIMULATE_RESOURCE_FILES}) target_compile_options(simulate PUBLIC ${MUJOCO_SIMULATE_COMPILE_OPTIONS}) if(WIN32) @@ -120,17 +109,12 @@ endif() target_link_libraries( simulate -# mjsimulate -# uitools + mjsimulate mujoco::mujoco glfw Threads::Threads ) -if(APPLE) - target_sources(simulate PRIVATE macos_save.mm) - target_link_libraries(simulate "-framework Cocoa") -endif() if(WIN32) target_link_options(simulate PRIVATE ${MUJOCO_SIMULATE_LINK_OPTIONS} /STACK:8000000) diff --git a/simulate/cmake/SimulateDependencies.cmake b/simulate/cmake/SimulateDependencies.cmake index 3821cc73..a3a0108d 100644 --- a/simulate/cmake/SimulateDependencies.cmake +++ b/simulate/cmake/SimulateDependencies.cmake @@ -58,8 +58,8 @@ findorfetch( EXCLUDE_FROM_ALL ) -option(MUJOCO_SIMULATE_STATIC_GLFW "Link MuJoCo simulate library and app against GLFW statically." ON) -if(MUJOCO_SIMULATE_STATIC_GLFW) +option(MUJOCO_EXTRAS_STATIC_GLFW "Link MuJoCo sample apps and simulate libraries against GLFW statically." OFF) +if(MUJOCO_EXTRAS_STATIC_GLFW) set(BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) set(BUILD_SHARED_LIBS OFF @@ -88,7 +88,7 @@ findorfetch( EXCLUDE_FROM_ALL ) -if(MUJOCO_SIMULATE_STATIC_GLFW) +if(MUJOCO_EXTRAS_STATIC_GLFW) set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Build SHARED libraries" FORCE diff --git a/simulate/simulate.h b/simulate/simulate.h index 0aedfc8b..d223638d 100644 --- a/simulate/simulate.h +++ b/simulate/simulate.h @@ -38,7 +38,7 @@ namespace mujoco { //-------------------------------- global ----------------------------------------------- // Simulate states not contained in MuJoCo structures -class Simulate { +class MJSIMULATEAPI Simulate { public: // create object and initialize the simulate ui Simulate(void);