First upload version 0.0.1
This commit is contained in:
58
node_modules/cmake-js/lib/appCMakeJSConfig.js
generated
vendored
Normal file
58
node_modules/cmake-js/lib/appCMakeJSConfig.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
'use strict'
|
||||
const path = require('path')
|
||||
|
||||
function getConfig(lookPath, log) {
|
||||
const pjsonPath = path.join(lookPath, 'package.json')
|
||||
log.silly('CFG', "Looking for package.json in: '" + pjsonPath + "'.")
|
||||
try {
|
||||
const json = require(pjsonPath)
|
||||
log.silly('CFG', 'Loaded:\n' + JSON.stringify(json))
|
||||
if (json && json['cmake-js'] && typeof json['cmake-js'] === 'object') {
|
||||
log.silly('CFG', 'Config found.')
|
||||
return json['cmake-js']
|
||||
} else {
|
||||
log.silly('CFG', 'Config not found.')
|
||||
return null
|
||||
}
|
||||
} catch (e) {
|
||||
log.silly('CFG', "'package.json' not found.")
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = function (projectPath, log) {
|
||||
log.verbose('CFG', "Looking for application level CMake.js config in '" + projectPath + '.')
|
||||
let currPath = projectPath
|
||||
let lastConfig = null
|
||||
let currConfig
|
||||
for (;;) {
|
||||
currConfig = getConfig(currPath, log)
|
||||
if (currConfig) {
|
||||
lastConfig = currConfig
|
||||
}
|
||||
try {
|
||||
log.silly('CFG', 'Looking for parent path.')
|
||||
const lastPath = currPath
|
||||
currPath = path.normalize(path.join(currPath, '..'))
|
||||
if (lastPath === currPath) {
|
||||
currPath = null // root
|
||||
}
|
||||
if (currPath) {
|
||||
log.silly('CFG', "Parent path: '" + currPath + "'.")
|
||||
}
|
||||
} catch (e) {
|
||||
log.silly('CFG', 'Exception:\n' + e.stack)
|
||||
break
|
||||
}
|
||||
if (currPath === null) {
|
||||
log.silly('CFG', "Parent path with package.json file doesn't exists. Done.")
|
||||
break
|
||||
}
|
||||
}
|
||||
if (lastConfig) {
|
||||
log.verbose('CFG', 'Application level CMake.js config found:\n' + JSON.stringify(lastConfig))
|
||||
} else {
|
||||
log.verbose('CFG', "Application level CMake.js config doesn't exists.")
|
||||
}
|
||||
return lastConfig
|
||||
}
|
||||
Reference in New Issue
Block a user