cmake_minimum_required(VERSION 2.8.6) PROJECT ( HDFJAVAExamples Java ) #----------------------------------------------------------------------------- # Instructions for use : Normal Build # # For standard build of HDFJAVA Examples. # #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # Define some CMake variables for use later in the project #----------------------------------------------------------------------------- SET (HDFJAVA_RESOURCES_DIR ${HDFJAVAExamples_SOURCE_DIR}/config/cmake) SET (HDFJAVA_NATIVE_DIR ${PROJECT_SOURCE_DIR}/native) SET (HDFJAVA_OBJECT_DIR ${PROJECT_SOURCE_DIR}/object) FIND_PACKAGE(Java) #----------------------------------------------------------------------------- # Include some macros for reusable code #----------------------------------------------------------------------------- SET (CMAKE_MODULE_PATH ${HDFJAVA_RESOURCES_DIR}) INCLUDE (${HDFJAVA_RESOURCES_DIR}/UseJava.cmake) #----------------------------------------------------------------------------- # Setup output Directories #----------------------------------------------------------------------------- SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all Executables." ) SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all Libraries" ) SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all static libraries." ) SET (CMAKE_JAVA_TARGET_OUTPUT_DIR ${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all java jars." ) #----------------------------------------------------------------------------- # Include the main src and config directories #----------------------------------------------------------------------------- SET (HDFJAVA_INCLUDE_DIRECTORIES ${HDFJAVAExamples_BINARY_DIR} ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2} ) INCLUDE_DIRECTORIES (${HDFJAVA_INCLUDE_DIRECTORIES}) SET (CMAKE_JAVA_INCLUDE_PATH "") SET (MAKE_SYSTEM) IF (CMAKE_BUILD_TOOL MATCHES "make") SET (MAKE_SYSTEM 1) ENDIF (CMAKE_BUILD_TOOL MATCHES "make") SET (CFG_INIT "/${CMAKE_CFG_INTDIR}") IF (MAKE_SYSTEM) SET (CFG_INIT "") ENDIF (MAKE_SYSTEM) #----------------------------------------------------------------------------- # HDF-JAVA support #----------------------------------------------------------------------------- SET (CMAKE_MODULE_PATH ${HDFJAVA_RESOURCES_DIR} ${CMAKE_MODULE_PATH}) FIND_PACKAGE (HDFJAVA NAMES ${HDFJAVA_PACKAGE_NAME}) IF (HDFJAVA_FOUND) MESSAGE (STATUS "HDFJAVA found: ${HDFJAVA_INCLUDE_DIRS}") SET (CMAKE_JAVA_INCLUDE_PATH "${CMAKE_JAVA_INCLUDE_PATH};${HDFJAVA_INCLUDE_DIRS}") ELSE (HDFJAVA_FOUND) MESSAGE (FATAL_ERROR " HDFJAVA is Required for HDFJAVA Examples") ENDIF (HDFJAVA_FOUND) #----------------------------------------------------------------------------- # Dashboard and Testing Settings #----------------------------------------------------------------------------- OPTION (BUILD_TESTING "Build HDFJAVA Unit Testing" OFF) IF (BUILD_TESTING) SET (DART_TESTING_TIMEOUT 1200 CACHE INTEGER "Timeout in seconds for each test (default 1200=20minutes)" ) ENABLE_TESTING () INCLUDE (CTest) INCLUDE (${HDFJAVAExamples_SOURCE_DIR}/CTestConfig.cmake) CONFIGURE_FILE (${HDFJAVA_RESOURCES_DIR}/CTestCustom.cmake ${HDFJAVAExamples_BINARY_DIR}/CTestCustom.ctest @ONLY) ENDIF (BUILD_TESTING) #----------------------------------------------------------------------------- # Add the HDFJAVA Examples Target to the build #----------------------------------------------------------------------------- ADD_SUBDIRECTORY(${HDFJAVAExamples_SOURCE_DIR}/jnative jnative) ADD_SUBDIRECTORY(${HDFJAVAExamples_SOURCE_DIR}/object object)