|
49 | 49 | CreateClasspath(myJavaLibs ${myJLibDir}) |
50 | 50 | ConcatClasspaths(myClassPath "${CLASSPATH_Java_AIINTERFACE}" "${myJavaLibs}" ${myAiSourceDir} ${myLoaderSourceDir} ${JavaOO_AIWRAPPER_JAR_CLASSPATH}) |
51 | 51 |
|
52 | | -# Create a list of all the AIs source files |
| 52 | +# Create a list of all the AIs source files (for compiling) |
53 | 53 | file(GLOB_RECURSE myLoaderSources RELATIVE "${myLoaderSourceDir}" FOLLOW_SYMLINKS "${myLoaderSourceDir}/*.java") |
54 | | -file(GLOB_RECURSE myAiSources RELATIVE "${myAiSourceDir}" FOLLOW_SYMLINKS "${myAiSourceDir}/*.java") |
| 54 | +file(GLOB_RECURSE myAiSources RELATIVE "${myAiSourceDir}" FOLLOW_SYMLINKS "${myAiSourceDir}/*.java") |
| 55 | +# Create a list of all the AIs source files (for dependency tracking) |
| 56 | +file(GLOB_RECURSE myLoaderSourcesDep FOLLOW_SYMLINKS "${myLoaderSourceDir}/*.java") |
| 57 | +file(GLOB_RECURSE myAiSourcesDep FOLLOW_SYMLINKS "${myAiSourceDir}/*.java") |
| 58 | + |
| 59 | +# Assemble project generated libraries we depend on |
| 60 | +set(myDependTargets "${Java_AIINTERFACE_TARGET}" "${JavaOO_AIWRAPPER_TARGET}") |
| 61 | +set(myDependLibFiles "${Java_AIINTERFACE_JAR_BIN}" "${JavaOO_AIWRAPPER_JAR_BIN}") |
| 62 | +set_source_files_properties(${myDependLibFiles} PROPERTIES GENERATED TRUE) |
| 63 | + |
| 64 | +add_custom_target(${myLoaderTarget} SOURCES ${myBuildDir}/${myLoaderBinJarFile}) |
| 65 | +set_source_files_properties(${myBuildDir}/${myLoaderBinJarFile} PROPERTIES GENERATED TRUE) |
| 66 | +add_dependencies(${myLoaderTarget} ${myDependTargets}) |
| 67 | + |
| 68 | +add_custom_target(${myLoaderSourceTarget} SOURCES ${myBuildDir}/${myLoaderSrcJarFile}) |
| 69 | +set_source_files_properties(${myBuildDir}/${myLoaderSrcJarFile} PROPERTIES GENERATED TRUE) |
| 70 | + |
| 71 | +add_custom_target(${myAiTarget} SOURCES ${myBuildDir}/${myAiBinJarFile}) |
| 72 | +set_source_files_properties(${myBuildDir}/${myAiBinJarFile} PROPERTIES GENERATED TRUE) |
| 73 | +add_dependencies(${myAiTarget} ${myDependTargets}) |
| 74 | + |
| 75 | +add_custom_target(${myAiSourceTarget} SOURCES ${myBuildDir}/${myAiSrcJarFile}) |
| 76 | +set_source_files_properties(${myBuildDir}/${myAiSrcJarFile} PROPERTIES GENERATED TRUE) |
| 77 | + |
| 78 | +add_custom_target(${myTarget} ALL) |
| 79 | +add_dependencies(${myTarget} ${myLoaderTarget} ${myAiTarget} ${myLoaderSourceTarget} ${myAiSourceTarget}) |
55 | 80 |
|
56 | 81 | # Compile the loader library |
57 | | -# needed by javac |
58 | | -file(MAKE_DIRECTORY "${myJavaLoaderBuildDir}") |
59 | | -add_custom_target(${myLoaderTarget} ALL |
60 | | -#OUTPUT "${myBuildDir}/${myLoaderBinJarFile}" |
| 82 | +add_custom_command( |
| 83 | +OUTPUT |
| 84 | +"${myBuildDir}/${myLoaderBinJarFile}" |
| 85 | +COMMAND "${CMAKE_COMMAND}" |
| 86 | +"-E" "make_directory" "${myJavaLoaderBuildDir}" |
61 | 87 | COMMAND "${JAVA_COMPILE}" |
62 | 88 | "${JAVA_COMPILE_FLAG_CONDITIONAL}" |
63 | 89 | "-cp" "${myClassPath}" |
|
66 | 92 | COMMAND "${JAVA_ARCHIVE}" |
67 | 93 | "cmf" "${myDir}/manifest.mf" "${myBuildDir}/${myLoaderBinJarFile}" |
68 | 94 | "-C" "${myJavaLoaderBuildDir}" "${myJavaPkgFirstPart}" |
69 | | -WORKING_DIRECTORY "${myLoaderSourceDir}" |
70 | | -COMMENT " ${myTarget}: Creating library ${myLoaderBinJarFile}" VERBATIM) |
71 | | -add_dependencies(${myLoaderTarget} ${Java_AIINTERFACE_TARGET} ${JavaOO_AIWRAPPER_TARGET}) |
72 | | - |
73 | | -# Compile the ai library |
74 | | -# needed by javac |
75 | | -file(MAKE_DIRECTORY "${myJavaAiBuildDir}") |
76 | | -add_custom_target(${myAiTarget} ALL |
77 | | -#OUTPUT "${myBuildDir}/${myAiBinJarFile}" |
| 95 | +DEPENDS |
| 96 | +${myDependLibFiles} |
| 97 | +${myLoaderSourcesDep} |
| 98 | +WORKING_DIRECTORY |
| 99 | +"${myLoaderSourceDir}" |
| 100 | +COMMENT |
| 101 | +" ${myTarget}: Creating library ${myLoaderBinJarFile}" VERBATIM |
| 102 | +) |
| 103 | + |
| 104 | +# Compile the AI library |
| 105 | +add_custom_command( |
| 106 | +OUTPUT |
| 107 | +"${myBuildDir}/${myAiBinJarFile}" |
| 108 | +COMMAND "${CMAKE_COMMAND}" |
| 109 | +"-E" "make_directory" "${myJavaAiBuildDir}" |
78 | 110 | COMMAND "${JAVA_COMPILE}" |
79 | 111 | "${JAVA_COMPILE_FLAG_CONDITIONAL}" |
80 | 112 | "-cp" "${myClassPath}" |
|
83 | 115 | COMMAND "${JAVA_ARCHIVE}" |
84 | 116 | "cmf" "${myDir}/manifest.mf" "${myBuildDir}/${myAiBinJarFile}" |
85 | 117 | "-C" "${myJavaAiBuildDir}" "${myJavaPkgFirstPart}" |
86 | | -WORKING_DIRECTORY "${myAiSourceDir}" |
87 | | -COMMENT " ${myTarget}: Creating library ${myAiBinJarFile}" VERBATIM) |
88 | | -add_dependencies(${myAiTarget} ${Java_AIINTERFACE_TARGET} ${JavaOO_AIWRAPPER_TARGET}) |
| 118 | +DEPENDS |
| 119 | +${myDependLibFiles} |
| 120 | +${myAiSourcesDep} |
| 121 | +WORKING_DIRECTORY |
| 122 | +"${myAiSourceDir}" |
| 123 | +COMMENT |
| 124 | +" ${myTarget}: Creating library ${myAiBinJarFile}" VERBATIM |
| 125 | +) |
89 | 126 |
|
90 | | -# Pack the sources |
91 | | -add_custom_target(${myLoaderSourceTarget} ALL |
92 | | -#OUTPUT "${myBuildDir}/${myLoaderSrcJarFile}" |
| 127 | +# Pack the loader sources |
| 128 | +add_custom_command( |
| 129 | +OUTPUT |
| 130 | +"${myBuildDir}/${myLoaderSrcJarFile}" |
93 | 131 | COMMAND "${JAVA_ARCHIVE}" |
94 | 132 | "cf" "${myBuildDir}/${myLoaderSrcJarFile}" |
95 | 133 | "-C" "${myLoaderSourceDir}" "${myJavaPkgFirstPart}" |
96 | | -WORKING_DIRECTORY "${myLoaderSourceDir}" |
97 | | -COMMENT " ${myTarget}: Creating sources archive ${myLoaderSrcJarFile}" VERBATIM) |
| 134 | +DEPENDS |
| 135 | +${myLoaderSourcesDep} |
| 136 | +WORKING_DIRECTORY |
| 137 | +"${myLoaderSourceDir}" |
| 138 | +COMMENT |
| 139 | +" ${myTarget}: Creating sources archive ${myLoaderSrcJarFile}" VERBATIM |
| 140 | +) |
98 | 141 |
|
99 | | -# Pack the sources |
100 | | -add_custom_target(${myAiSourceTarget} ALL |
101 | | -#OUTPUT "${myBuildDir}/${myAiSrcJarFile}" |
| 142 | +# Pack the AI sources |
| 143 | +add_custom_command( |
| 144 | +OUTPUT |
| 145 | +"${myBuildDir}/${myAiSrcJarFile}" |
102 | 146 | COMMAND "${JAVA_ARCHIVE}" |
103 | 147 | "cf" "${myBuildDir}/${myAiSrcJarFile}" |
104 | 148 | "-C" "${myAiSourceDir}" "${myJavaPkgFirstPart}" |
105 | | -WORKING_DIRECTORY "${myAiSourceDir}" |
106 | | -COMMENT " ${myTarget}: Creating sources archive ${myAiSrcJarFile}" VERBATIM) |
107 | | - |
108 | | -add_custom_target(${myTarget} ALL) |
109 | | -add_dependencies(${myTarget} ${myLoaderTarget} ${myAiTarget} ${myLoaderSourceTarget} ${myAiSourceTarget}) |
| 149 | +DEPENDS |
| 150 | +${myAiSourcesDep} |
| 151 | +WORKING_DIRECTORY |
| 152 | +"${myAiSourceDir}" |
| 153 | +COMMENT |
| 154 | +" ${myTarget}: Creating sources archive ${myAiSrcJarFile}" VERBATIM |
| 155 | +) |
110 | 156 |
|
111 | 157 | # Install the data files |
112 | | -install(DIRECTORY "${myDir}/data/" DESTINATION ${myDataDir}) |
| 158 | +install(DIRECTORY "${myDir}/data/" DESTINATION ${myDataDir}) |
113 | 159 | # Install the library |
114 | 160 | install (FILES "${myBuildDir}/${myLoaderBinJarFile}" DESTINATION ${myDataDir}) |
115 | 161 | # Install the library |
116 | | -install (FILES "${myBuildDir}/${myAiBinJarFile}" DESTINATION ${myDataDir}) |
| 162 | +install (FILES "${myBuildDir}/${myAiBinJarFile}" DESTINATION ${myDataDir}) |
117 | 163 | # Install the sources archive |
118 | 164 | install (FILES "${myBuildDir}/${myLoaderSrcJarFile}" DESTINATION ${myDataDir}/jlib) |
119 | 165 | # Install the sources archive |
120 | | -install (FILES "${myBuildDir}/${myAiSrcJarFile}" DESTINATION ${myDataDir}/jlib) |
| 166 | +install (FILES "${myBuildDir}/${myAiSrcJarFile}" DESTINATION ${myDataDir}/jlib) |
121 | 167 | # Install the Java OO Wrapper libraries |
122 | | -install(FILES "${JavaOO_AIWRAPPER_JAR_BIN}" DESTINATION ${myDataDir}/jlib) |
| 168 | +install(FILES "${JavaOO_AIWRAPPER_JAR_BIN}" DESTINATION ${myDataDir}/jlib) |
123 | 169 | set(wrapperJLibDir "${CMAKE_SOURCE_DIR}/AI/Wrappers/JavaOO/jlib") |
124 | 170 | if (EXISTS ${wrapperJLibDir}) |
125 | | -install(DIRECTORY "${wrapperJLibDir}/" DESTINATION ${myDataDir}/jlib) |
| 171 | +install(DIRECTORY "${wrapperJLibDir}/" DESTINATION ${myDataDir}/jlib) |
126 | 172 | endif (EXISTS ${wrapperJLibDir}) |
127 | 173 | endif (BUILD_THIS_SKIRMISHAI) |
128 | 174 |
|
0 commit comments