diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..625655d77eec803589cd20322ddfd93cd7f1ca37 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,62 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +PROJECT(moose-all) + +## intialize paths +set(MOOSE_CORE_DIR "${CMAKE_SOURCE_DIR}/moose-core") +set(MOOSE_CORE_BUILD_DIR ${CMAKE_BINARY_DIR}/_build_moose_core) +FILE(MAKE_DIRECTORY ${MOOSE_CORE_BUILD_DIR}) +set(DATA_DIR ${CMAKE_SOURCE_DIR}/data) + +add_custom_command(OUTPUT __moose_core_built__ + COMMAND ${CMAKE_COMMAND} + -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + -DDEBUG=OFF + ${MOOSE_CORE_DIR} + COMMAND $(MAKE) + WORKING_DIRECTORY ${MOOSE_CORE_BUILD_DIR} + VERBATIM + ) + +add_custom_target(moose-all ALL + DEPENDS __moose_core_built__ + ) + +install(CODE + " + execute_process(COMMAND ctest --output-on-failure + WORKING_DIRECTORY ${MOOSE_CORE_BUILD_DIR}) + + execute_process(COMMAND ${CMAKE_COMMAND} install + WORKING_DIRECTORY ${MOOSE_CORE_BUILD_DIR}) + " + ) + +## moose-gui +## TODO: moose-gui should be a python module. +set(MOOSE_GUI_DIR ${CMAKE_SOURCE_DIR}/moose-gui) + +install(DIRECTORY ${MOOSE_GUI_DIR} + DESTINATION lib/moose/gui + PATTERN ".git" EXCLUDE + ) + +install(PROGRAMS ${DATA_DIR}/moosegui + DESTINATION bin + ) + +## UNINSTALL +add_custom_target(uninstall + DEPENDS __uninstall_moose-core__ __uninstall_moose-gui__ + ) + +add_custom_command(OUTPUT __uninstall_moose-core__ + COMMAND make uninstall + WORKING_DIRECTORY ${MOOSE_CORE_BUILD_DIR} + ) + +add_custom_command(OUTPUT __uninstall_moose-gui__ + COMMAND ${CMAKE_COMMAND} -E remove_directory + ${CMAKE_INSTALL_PREFIX}/lib/moose + COMMAND ${CMAKE_COMMAND} -R remove ${CMAKE_INSTALL_PREFIX}/bin/moosegui + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + ) diff --git a/Makefile b/Makefile deleted file mode 100644 index 2364f261a503841ee75808ed52ed852d5b434d63..0000000000000000000000000000000000000000 --- a/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -PWD:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) -MOOSECORE_DIR=$(PWD)/moose-core -MOOSEGUI_DIR=$(PWD)/moose-gui - -MOOSECORE_BUILD_DIR=_moose_core_build_dir_ - -## Prefix -PREFIX:=/usr - -all: build_moose - -build_moose: build_moose_core build_moose_gui - -build_moose_core: configure_moose_core - cd $(MOOSECORE_BUILD_DIR) && $(MAKE) - -configure_moose_core: - mkdir -p $(MOOSECORE_BUILD_DIR) - cd $(MOOSECORE_BUILD_DIR) - cmake -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(MOOSECORE_DIR) - - diff --git a/data/Makefile b/data/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..1cbf0edfe60c4e3c582927ec13ac860f7d7ba605 --- /dev/null +++ b/data/Makefile @@ -0,0 +1,30 @@ +PWD:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) +MOOSECORE_DIR=$(PWD)/moose-core +MOOSEGUI_DIR=$(PWD)/moose-gui + +MOOSECORE_BUILD_DIR=_moose_core_build_dir_ + +MOOSEBIN:=$(MOOSECORE_BUILD_DIR)/moose.bin +MOOSESDIST:=$(MOOSECORE_BUILD_DIR)/moose-3.0.2.tar.gz + +## Prefix +PREFIX:=/usr + +all: build_moose + +build_moose: build_moose_core build_moose_gui + +build_moose_core $(MOOSEBIN) $(MOOSESDIST): configure_moose_core + cd $(MOOSECORE_BUILD_DIR) && make -j`proc` + +configure_moose_core: + echo "Configuring moose-core" + mkdir -p $(MOOSECORE_BUILD_DIR) + cd $(MOOSECORE_BUILD_DIR) && cmake -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(MOOSECORE_DIR) + + +clean: + git clean -fxd + + +.PNONY: clean uninstall install