diff --git a/pylib/gyp/generator/cmake.py b/pylib/gyp/generator/cmake.py index a2b9629..68d7020 100644 --- a/pylib/gyp/generator/cmake.py +++ b/pylib/gyp/generator/cmake.py @@ -1070,6 +1070,23 @@ def WriteTarget(namer, qualified_target, target_dicts, build_dir, config_to_use, output.write(')\n') + # Precompile header + precompiled_header = config.get('cmake_precompiled_header', '') + if precompiled_header: + precompiled_header_script = config.get('cmake_precompiled_header_script', '') + if not precompiled_header_script: + print ('ERROR: cmake_precompiled_header requires cmake_precompiled_header_script') + cmake_precompiled_header = NormjoinPath(path_from_cmakelists_to_gyp, precompiled_header) + cmake_precompiled_header_script = NormjoinPathForceCMakeSource(path_from_cmakelists_to_gyp, precompiled_header_script) + output.write('include(') + output.write(cmake_precompiled_header_script) + output.write(')\n') + output.write('add_precompiled_header(') + output.write(cmake_target_name) + output.write(' ') + output.write(cmake_precompiled_header) + output.write(')\n') + UnsetVariable(output, 'TOOLSET') UnsetVariable(output, 'TARGET')