Project(SpasticControllerPlugin) cmake_minimum_required(VERSION 2.6) SET(UKIT PLUGIN) FILE(GLOB SOURCE_FILES *.cpp) FILE(GLOB INCLUDE_FILES *.h) SET(EXPORT_MACRO OSIM${UKIT}_EXPORTS) SET(OPENSIM_INSTALL_DIR $ENV{OPENSIM_HOME} CACHE PATH "Top-level directory of OpenSim install") SET(PLUGIN_NAME "spasticControllerPlugin" CACHE STRING "Name of shared library to create") # To add Debug feature add ";Debug" after Release on the line below SET(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release" CACHE STRING "Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored." FORCE ) # Location of headers SET(SIMTK_HEADERS_DIR ${OPENSIM_INSTALL_DIR}/sdk/include/SimTK/include) SET(OPENSIM_HEADERS_DIR ${OPENSIM_INSTALL_DIR}/sdk/include) INCLUDE_DIRECTORIES(${SIMTK_HEADERS_DIR} ${OPENSIM_HEADERS_DIR}) # Libraries and dlls SET(OPENSIM_LIBS_DIR ${OPENSIM_INSTALL_DIR}/sdk/lib) SET(OPENSIM_DLLS_DIR ${OPENSIM_INSTALL_DIR}/bin) LINK_DIRECTORIES(${OPENSIM_LIBS_DIR} ${OPENSIM_DLLS_DIR}) # Namespace SET(NameSpace "OpenSim_" CACHE STRING "Prefix for simtk lib names, includes trailing '_'. Leave empty to use stock SimTK libraries.") MARK_AS_ADVANCED(NameSpace) SET(SIMTK_COMMON_LIB debug ${NameSpace}SimTKcommon_d optimized ${NameSpace}SimTKcommon) SET(SIMTK_MATH_LIB debug ${NameSpace}SimTKmath_d optimized ${NameSpace}SimTKmath) SET(SIMTK_SIMBODY_LIB debug ${NameSpace}SimTKsimbody_d optimized ${NameSpace}SimTKsimbody) SET(SIMTK_ALL_LIBS ${SIMTK_COMMON_LIB} ${SIMTK_MATH_LIB} ${SIMTK_SIMBODY_LIB} liblapack pthreadVC2) LINK_LIBRARIES( debug osimSimulation_d optimized osimSimulation debug osimActuators_d optimized osimActuators debug osimCommon_d optimized osimCommon debug osimAnalyses_d optimized osimAnalyses debug osimTools_d optimized osimTools ${SIMTK_ALL_LIBS} ) IF(WIN32) SET(PLATFORM_LIBS pthreadVC2) ELSE (WIN32) SET(NameSpace "") IF(APPLE) SET(PLATFORM_LIBS SimTKAtlas) ELSE(APPLE) SET(PLTAFORM_LIBS SimTKAtlas_Lin_generic) ENDIF(APPLE) ENDIF (WIN32) ADD_LIBRARY(${PLUGIN_NAME} SHARED ${SOURCE_FILES} ${INCLUDE_FILES}) MARK_AS_ADVANCED(EXECUTABLE_OUTPUT_PATH) MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH) SET_TARGET_PROPERTIES( ${PLUGIN_NAME} PROPERTIES DEFINE_SYMBOL ${EXPORT_MACRO} PROJECT_LABEL "Libraries - ${PLUGIN_NAME}") INSTALL_TARGETS(/plugins RUNTIME_DIRECTORY /plugins ${PLUGIN_NAME})