 9400165376
			
		
	
	9400165376
	
	
	
		
			
			Cherry-picked 12e6ada259c38d535003c068a49bc525c33830d8 into 2.3. Since the maxctrl build process uses add_custom_command, we must explicitly list the sources that it depends on. With this change, maxctrl is rebuild whenever the sources change.
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| if (BUILD_MAXCTRL)
 | |
|   find_package(NPM)
 | |
|   find_package(NodeJS)
 | |
| 
 | |
|   if (NPM_FOUND AND NODEJS_FOUND AND NODEJS_VERSION VERSION_GREATER "6.0.0")
 | |
| 
 | |
|     configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lib/version.js.in ${CMAKE_CURRENT_BINARY_DIR}/lib/version.js @ONLY)
 | |
| 
 | |
|     file(GLOB_RECURSE MAXCTRL_SOURCES lib/*)
 | |
| 
 | |
|     add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/maxctrl/maxctrl
 | |
|       DEPENDS ${MAXCTRL_SOURCES} maxctrl.js
 | |
|       COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/build.sh ${CMAKE_SOURCE_DIR}
 | |
|       WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
 | |
|     add_custom_target(maxctrl ALL DEPENDS ${CMAKE_BINARY_DIR}/maxctrl/maxctrl)
 | |
|     install_script(${CMAKE_BINARY_DIR}/maxctrl/maxctrl core)
 | |
| 
 | |
|     add_custom_target(test_maxctrl
 | |
|       COMMAND ${CMAKE_SOURCE_DIR}/test/run_npm_test.sh
 | |
|       ${CMAKE_SOURCE_DIR}           # Path to MaxScale sources
 | |
|       ${CMAKE_CURRENT_SOURCE_DIR}   # Path to test sources
 | |
|       ${CMAKE_BINARY_DIR}/maxctrl-test/ # Location where tests are built and run
 | |
|       WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
 | |
| 
 | |
|   elseif(NOT BUILD_SYSTEM_TESTS)
 | |
|     message(FATAL_ERROR "Not building MaxCtrl: npm or Node.js >= 6.0.0 not found. Add the following to skip MaxCtrl: -DBUILD_MAXCTRL=N")
 | |
|   endif()
 | |
| else()
 | |
|   message(STATUS "Not building MaxCtrl: BUILD_MAXCTRL=N")
 | |
| endif()
 |